2

我正在使用CefSharpCefSharp browser.

当我使用web_view.Load(@"C:\htmlfile.htm");它时,它会显示我的身体背景。

但是当我加载htmlfile.htm和使用web_view.LoadHtml(File.ReadAllText(@"C:\in.htm"));身体背景时不显示?

我想问我必须如何在html本地文件中设置地址正文背景?

这是我的 Html 文件内容:

<html>
<body background="C:\Untitled.png">
</body>
</html>
4

3 回答 3

6

尝试这个:

web_view.LoadHtml(File.ReadAllText(@"C:\in.htm"), @"C:\in.htm");

第二个参数表示 URL,如果 URL 是本地资源,那么页面将能够加载本地资源。

于 2014-02-07T12:23:00.890 回答
0

您可以这样做的另一种方法是使用 schemeHandler (它更清洁 IMO)。

  • 向 CEF 注册计划 -

CEF.RegisterScheme("ascheme", new HandlerFactory());

  • 添加一个从磁盘加载 PNG 并返回相关响应的方案处理程序

  • 然后更改您的 html 以引用该方案:

正文背景="myscheme://Untitled.png"

如果需要,我可以填写空白……但这应该足够了!

于 2015-01-22T17:01:02.727 回答
0

您将必须实现IRequestHandler.OnBeforeResourceLoad(),拦截每个请求,并自己从磁盘读取字节并将它们作为响应提供给 chromium。

https://github.com/chillitom/CefSharp/blob/master/CefSharp/IRequestHandler.h#L26

于 2013-04-10T22:47:01.810 回答