【问题标题】:How do I load a local HTML into CefSharp that contains a CSS-stylesheet?如何将本地 HTML 加载到包含 CSS 样式表的 CefSharp 中?
【发布时间】: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


【解决方案1】:

Cef 浏览器不知道 CSS 文件在哪里,所以找不到。简单的解决方案是使用 CDN(https://cdnjs.com/libraries/mathquill,用于 MathQuill)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2017-01-06
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多