C# 使用LoadHTML时未加载资源
我使用的是在C# 使用LoadHTML时未加载资源,c#,html,chromium-embedded,cefsharp,C#,Html,Chromium Embedded,Cefsharp,我使用的是在浏览器中显示html文件 当我使用web_view.Load(@“C:\htmlfile.htm”)显示我的身体背景 但是当我加载htmlfile.htm并使用web\u view.LoadHtml(File.ReadAllText(@“C:\in.htm”)主体背景不显示 我想问一下,我必须如何在html本地文件中设置地址正文背景 这是我的Html文件内容: <html> <body background="C:\Untitled.png"> </bo
浏览器中显示html文件
当我使用web_view.Load(@“C:\htmlfile.htm”)代码>显示我的身体背景
但是当我加载htmlfile.htm
并使用web\u view.LoadHtml(File.ReadAllText(@“C:\in.htm”)代码>主体背景不显示
我想问一下,我必须如何在html本地文件中设置地址正文背景
这是我的Html文件内容:
<html>
<body background="C:\Untitled.png">
</body>
</html>
您必须实现IRequestHandler.OnBeforeResourceLoad()
,拦截每个请求,自己从磁盘读取字节,并将其作为响应提供给chromium
试试这个:
web_view.LoadHtml(File.ReadAllText(@"C:\in.htm"), @"C:\in.htm");
第二个参数表示URL,如果URL是本地资源,那么页面将能够加载本地资源。另一种方法是使用schemeHandler(它更干净)
- 向基金注册计划-
CEF.RegisterScheme(“ascheme”,新HandlerFactory())
- 添加从磁盘加载PNG并返回相关响应的方案处理程序
- 然后更改html以引用方案:
正文背景=”myscheme://Untitled.png"
如果需要,我可以填空。。。但这应该足够了