【发布时间】:2017-08-28 23:41:11
【问题描述】:
操作系统: Windows 7
Cef 版本: Wpf
大家好,
我正在尝试加载使用 MathQuill 公式编辑器 (http://mathquill.com) 的本地 HTML 文件 (https://pastebin.com/wgnTKcpS)。但是,使用此代码时:
MathQuillBrowser.IsBrowserInitializedChanged += (s, e) =>
{
if (MathQuillBrowser.IsBrowserInitialized)
MathQuillBrowser.LoadHtml(File.ReadAllText(Environment.CurrentDirectory + "/mathquill.html"), "https://somefakeurl-mathquill.com");
};
要将 HTML 文件加载到 ChromiumBrowser 中,MathQuill 跨度不会显示在 Wpf 窗口的 ChromiumBrowser 中。我做错了什么?
如何重现问题:
- 在 VS 中创建一个新的 Wpf 应用程序并使用 Nuget 安装 CefSharp
- 转到项目的 bin\x86\Debug 文件,将上面提到的 HTML(在一个名为 mathquill.html 的文件中)和最新版本的 MathQuill 放入。
- 创建一个
ChromiumBrowser控件并将其添加到某个窗口的主控件中。 - 使用上述代码将 Html 加载到
ChromiumBrowser。
重要提示:上面的 C# 代码适用于不加载外部 CSS 样式表的元素(显示 html 元素)。此外,如果您在 Chrome 等浏览器中打开 html 代码,则可以正常工作。
【问题讨论】:
-
我认为您需要记住,CEF 是一个网络浏览器,而不是一个网络服务器。浏览器不知道那个 CSS 文件在哪里(你手动加载了 HTML 文本记住),所以它找不到它。
标签: c# html wpf chromium-embedded cefsharp