Firefox ChromeWorker未加载脚本
Firefox ChromeWorker not loading script
我有一个需求,需要与本机代码通信以执行一些操作。我已经成功地使用了JS Ctypes,一切都如预期的那样顺利。由于我的web应用程序与本机代码的通信需要一些时间,因此阻塞了主JS线程,从而冻结了UI。
因此,我需要创建一个单独的线程来委派与本机代码的通信,并将结果发布回主线程,主线程将向用户提供适当的反馈。Firefox ChromeWorker正是我需要使用的,因为它们是可以访问JS Ctypes的独立线程。
我的问题是,就我的生活而言,我似乎无法使用这种方法加载脚本。这就是我目前拥有的:
main.js
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
Components.utils.import("resource://gre/modules/Services.jsm");
var worker = new ChromeWorker("js/fpman/myworker.js");
worker.onmessage = function(e){
console.log(e.data);
};
worker.postMessage('start');
myworker.js
self.onmessage = function(e){
var sum = 1 + 1;
postMessage("Sum is " + sum);
};
当该代码在主JS中运行时,我在firebug控制台上收到了这个错误
Failed to load script: http://localhost:8080/myapp/js/fpman/myworker.js (nsresult = 0x805303f4)
请注意,当我使用普通工作线程时,即
var worker = new Worker("js/fpman/myworker.js");
js文件(myworker.js)加载得很好,我得到了预期的结果,但这当然不能满足我的需求,因为普通工作人员无法访问js Ctypes。所以问题似乎是如何创建ChromeWorker。有人能告诉我如何从应用程序中适当地实例化和使用ChromeWorker对象吗。我在扩展中看到了很多使用ChromeWorker的参考,但这不是我想要的,我想在我的web应用程序中使用ChromeWorker。
谢谢。
该特定错误为NS_error_DOM_BAD_URI
我不相信你所做的会奏效,我知道它在Firefox中不会很快奏效,因为enablePrivilege正在彻底消失。
相关文章:
- Joomla异步脚本加载jdoc头
- 将自定义脚本加载到Vue.js组件中
- 延迟加载 脚本加载和/或执行
- 脚本加载问题
- I'当我试图将java脚本加载到web视图中时,我得到了一个空白屏幕
- 脚本加载脚本广告
- 当我有一个脚本数组时,如何等待脚本加载
- 将Dropbox API脚本加载到chrome扩展时出错
- 异步脚本加载
- 一旦第三方脚本加载失败,立即运行一段JavaScript
- 有没有办法阻止脚本加载两次?JavaScript
- 无法使用 AJAX 将脚本加载为纯文本
- 我怎样才能说服WebStorm我的用户脚本加载jQuery
- 需要JS脚本加载顺序
- 处理不同设备的页面中的脚本加载
- 显示加载 gif,直到脚本加载完毕
- jQuery Mobile pageinit,脚本加载和其他东西
- IE11 脚本加载不起作用(有时)
- 有条件地将内容脚本加载到 Safari 扩展中,就像在 FF/Chrome 中一样
- 如何在Chrome开发工具中找到以下脚本加载时间线