javascript - 在 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 模块作为模块运行?
解决方案
推荐阅读
- java - 连续迭代集合和数组的最佳方法
- powershell - Powershell - 创建几个文件后如何开始操作
- php - 如何使用递归函数在 PHP 中生成包含分层评论回复系统的一维数组?
- jquery - 如何通过 jQuery AJAX 发送多组相互关联的数据属性?
- rest - 获取特定组 id 的用户
- color-space - 如何使用 PIL 库将图像从 YCRCB 转换为 RGB?
- r - 将流程图作为R中的顺序文本读取
- php - PHP + cURL 获取不应该存在的文件
- docker - 使用 docker 容器运行 .Net Core 应用程序,但我遇到了类似“0.0.0.0:7001->7001/tcp”的问题
- django - 无法在 django 的多对可能字段上添加来自其他数据库的值