使用 CefSharp v65 加载本地 html/css/js 文件

2024-01-01

我正在尝试在 WinForms 中使用 CefSharp v65 加载本地 html/css/js 文件。

我找到了与此相关的其他堆栈溢出帖子,但他们都没有使用新的内置版本FolderSchemeHandlerFactory,而不是实现他们自己的版本。这是我读到的关于方案处理程序的文档:https://github.com/cefsharp/CefSharp/wiki/General-Usage https://github.com/cefsharp/CefSharp/wiki/General-Usage在“方案处理程序”标题下。

资料来源:在 CefSharp 中使用本地构建的网页 https://stackoverflow.com/questions/28697613/working-with-locally-built-web-page-in-cefsharp

我尝试像这样使用新功能:

    public ChromiumWebBrowser browser;

    public void InitBrowser()
    {            
        var settings = new CefSettings();
        settings.RegisterScheme(new CefCustomScheme
        {
            SchemeName = "localfolder",
            SchemeHandlerFactory = new FolderSchemeHandlerFactory(
                rootFolder: @"..\..\..\..\CEFSharpExample\webpage",
                defaultPage: "index.html" // default
            )
        });

        Cef.Initialize(settings);

        string html = File.ReadAllText(@"..\..\..\webpage\index.html");
        browser = new ChromiumWebBrowser();
        browser.LoadHtml(html);
        this.Controls.Add(browser);
        browser.Dock = DockStyle.Fill;

    }

但是,我只是获取没有 css 的 html,在调试器中没有例外。有谁了解如何利用新的内置功能?


正如 aamaitland 在评论中指出的那样,我的“在[我]加载数据 URI 时并未向方案处理程序发出请求”。

我更新后的工作代码如下(如果您想知道所有事情都发生在哪里,则更加充实):

public partial class Form1 : Form
{
    InitializeComponent();
    InitBrowser();
}

public ChromiumWebBrowser browser;

public void InitBrowser()
{
    var settings = new CefSettings();

    settings.RegisterScheme(new CefCustomScheme
    {
        SchemeName = "localfolder",
        DomainName = "cefsharp",
        SchemeHandlerFactory = new FolderSchemeHandlerFactory(
            rootFolder: @"C:\CEFSharpExample\webpage",
            hostName: "cefsharp",
            defaultPage: "index.html" // will default to index.html
        )
    });

    Cef.Initialize(settings);

    browser = new ChromiumWebBrowser("localfolder://cefsharp/");

    this.Controls.Add(browser);
    browser.Dock = DockStyle.Fill;   
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 CefSharp v65 加载本地 html/css/js 文件 的相关文章

随机推荐

  • 如何使用Resources.resx链接图像

    我在 Resources resx 中包含了一个图标文件 我希望将其显示在堆栈面板内的 TreeViewItem 上 1 ico 文件可以用于此目的吗 还是必须是 bmp 或 jpg 2 在XAML中你如何设置源 以下代码对我不起作用
  • shell_plus 安装 Django 时出现错误 - ImportError: 无法导入名称 'Type

    安装 django extensions 后尝试启动 shell plus 时出现以下错误 这是我遵循的步骤 1 使用安装的 django extensions pip install django extensions 2 Added d
  • Mathematica 中具有两个数据集的 ListPlot

    假设我有理由保持数据集独立 是否有更干净的方法来执行以下操作 x 1 2 3 y 1 4 9 ListPlot Partition Riffle x y 2 Thanks 我不认为蒂莫的解决方案是标准的 这里有两种方法 使用Transpos
  • 是否对 BeanCreationException / ApplicationContext 加载问题有更友好的看法

    诊断弹簧接线问题通常涉及挖掘堆栈跟踪中的很长的消息 如下所示 Caused by org springframework beans factory BeanCreationException Error creating bean wit
  • 富文本编辑器[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想为网站构建一个富文本编辑器 我该
  • 留意 Wicket 的更新房产

    在我当前的项目中 我们需要实现一种让短信发送者通过上传属性文件来管理检票口消息 国际化的方法 另请参阅这个问题 管理国际化检票口应用程序 https stackoverflow com questions 5140429 administr
  • Visual Studio Code 显示“需要 Java 11 或更高版本才能运行。请下载并安装最新的 JDK”

    今天 Visual Studio Code 开始向我显示一个弹出窗口 需要 Java 11 或更高版本才能运行 请下载并安装最新的 JDK 我需要使用 JDK 8 在 Apache Beam 上工作 这是最后支持的版本 我一直在努力解决这个
  • 使用 JOOQ 查找 PostgreSQL 中时间戳(以秒为单位)之间的差异

    我需要使用 JOOQ 查找两个时间戳之间的差异 以秒为单位 我已经使用原始 SQL 查看了 StackOverflow 上的一些答案 但是我没有找到使用 JOOQ 实现它的方法 以下是我发现的一些使用原始 SQL 的解决方案 查找 Post
  • Stripe.js - 解决无法读取未定义的属性“stripeToken”

    我正在使用 Stripe 构建我的第一个基本 Express 应用程序Checkout 该应用程序呈现正确 但当我提交表单时 我在两个方面都收到错误stripeToken and stripeEmail 我不知道为什么它没有通过 有什么帮助
  • Android中如何获取对应的文件图标?

    每个文件类型都与其特定的相关联icon 现在如果我选择一些文件名 xxx那么我如何能够选择与关联的图标 xxx而不是未知文件的默认图标 原始问题 我怎样才能得到 txt or doc or png文件图标 比如我现在选择filename p
  • C# 反序列化 json

    我有如下 json data name 123 pwd 123 name 456 pwd 456 name 789 pwd 789 duration 5309 query myquery timeout 300 Using http jso
  • 如何配置Tomcat使用1个以上的CPU?

    我们有一个新的客户端 目前我们正在对具有 100 个并发 http 线程的生产类服务器进行压力测试 使用 Jmeter 问题是 即使我们有 2 个 Xeon 处理器 每个 CPU 有 4 个核心 总 共 8 个核心 我只能看到 tomcat
  • 多个输出路径(Java - Hadoop - MapReduce)

    我做了两项 MapReduce 作业 我希望第二项作业能够将结果写入两个不同目录中的两个不同文件中 我想要某种类似于 FileInputFormat addInputPath multiple input path 的东西 但对于输出 我对
  • 回购同步重复路径问题

    我已经为oneplus构建cyanogenmod有一段时间了 我已经用boeffla内核替换了库存内核 但是截至今天我遇到了一个问题 之前能够与新内核重新同步 一切都说现在当我进行回购同步时 致命 home noahvt BuildServ
  • 在android中创建缩放位图时保持图像质量

    我有一张尺寸为 960x800 的图像 我试图让它填满屏幕 我目前的做法是加载完整的 960x800 位图并使用源和目标Rect对象 到目前为止 我的目标矩形为 480x320 屏幕尺寸 源矩形为 960x800 background Bi
  • 如何使用“...”(变量)参数? [复制]

    这个问题在这里已经有答案了 可能的重复 C 和 C 中的可变参数函数是什么 https stackoverflow com questions 3870128 what are variadic functions in accordanc
  • 放大一条曲线,使其可以沿着 R 图中的另一条曲线显示

    我有一个 R 图 我想在其中展示IF the red curve 现在位于图的底部 未正确显示 乘以一个常数 它可以match the blue curve目前显示 我想知道我怎样才能最好scale up the 红 曲线以便它准确地mat
  • Apache Derby - java.sql.SQLException:无法启动数据库

    首先 这是我第一次使用 Apache Derby 我正在使用 netbeans 愿意使用嵌入式 apache derby 并且我按照以下教程配置和安装数据库 然后 我使用项目属性将 derby jar 文件附加到我的项目中 http net
  • Angular2 - ngOnDestroy() 未在类似路线上调用

    我有一个 Angular2 应用程序 其路线如下 path component ContentComponent children path folder folderId resolve currentFolder CurrentFold
  • 使用 CefSharp v65 加载本地 html/css/js 文件

    我正在尝试在 WinForms 中使用 CefSharp v65 加载本地 html css js 文件 我找到了与此相关的其他堆栈溢出帖子 但他们都没有使用新的内置版本FolderSchemeHandlerFactory 而不是实现他们自