首页 > 解决方案 > 在 Chromium Embedded Framework 中将整个 js 文件作为模块执行

问题描述

我在 C# (cefSharp) 中使用 Chromium Embedded Framework 作为我目前正在开发的软件的测试平台。在这些测试中,我使用 cefSharp 在各种网站上注入我的 js 文件。到目前为止,我的软件由一个大的 js 文件组成,我可以通过以下方式注入它。

        //Wait for the MainFrame to finish loading
        Browser.FrameLoadEnd += (sender, args) =>
        {
            //Wait for the MainFrame to finish loading
            if (args.Frame.IsMain)
            {
                byte[] bytes = File.ReadAllBytes("../../js/myJs.js");
                string script = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
                Browser.ShowDevTools();
           
                Browser.ExecuteScriptAsync(script);
            };

        };

该解决方案效果很好。现在我重构了一些代码并将我的 js 文件拆分为多个模块。如果我以与之前的 js 文件相同的方式执行模块,我会立即收到错误消息,指出“导入语句只能在模块中使用”。(通常修复它只是将 js 文件引用为 html 文件中的“模块”而不是“文本/javascript”)因为我是通过 cef 注入它的,所以我不能这样做。我的问题是:是否有可能通过 cefSharp 将此 js 模块作为模块运行?

标签: javascriptmodulecefsharpchromium-embedded

解决方案


推荐阅读