使用CefGlue从磁盘加载html文件

时间:2015-04-21 21:09:48

标签: chromium-embedded cefglue

我正在玩CefGlue(围绕chrome embedded的.net包装")我需要做一些概念验证,所以我创建了我自己的特殊html文件,其中包含我需要测试的内容。但是,我无法找到加载这些文件的方法。

CefBrowserHost.CreateBrowser(cefWindowInfo, cefClient, cefBrowserSettings, url);需要一个url,并且没有重载方法接受内容为字符串。所以问题是:如何从磁盘加载html文件?

2 个答案:

答案 0 :(得分:2)

我没有使用过CefGlue - 但通常你可以使用自定义cef资源处理程序来加载文件。简而言之,当CEF看到您的URL时,他们将通过您设置的资源覆盖处理程序进行调用,然后将该资源读入字节流。在我们的例子中,我们读取了编译到应用程序资源中的html文件。在你的情况下,我想你当时也可以从磁盘读取资源,虽然我没有这样做。如果您可以将资源编译到C#应用程序中,可以根据需要将html文件添加到参考资料中。

在我们的例子中,我们将url传递给CreateBrowserSync(),CEF最终调用我们的ResourceHandler来加载它。 CefClient c ++示例有一个很好的示例,请参阅resource_util_win.cpp。

这是在CefResourceHandler中的Handler覆盖中设置的。我们覆盖GetResourceHandler,他们的示例覆盖ProcessRequest in SchemeHandler。请参阅CefClient示例中的scheme_test.cpp。

他们的样本中的大多数代码都是非常好的锅炉,您应该能够使用它们作为实现的基础 - 它的代码真的太多了,无法在此列出所有代码。

答案 1 :(得分:2)

我找到了一个解决方案:只需将完整路径传递给url参数中的文件,一切正常。它就像从磁盘上打开chrome文件,所以我不知道为什么我第一次没试过。