【发布时间】:2015-10-30 11:46:40
【问题描述】:
我正在编写一个使用 Worker 执行后台任务的 Firefox 插件。在 browserOverlay.js 中:
var myWorker = new Worker("chrome://sample_xpcom/content/worker.js");
myWorker.postMessage({type: 10});
在 worker.js 中:
importScripts("resource://gre/modules/workers/require.js")
//importScripts("resource://gre/modules/osfile.jsm")
onmessage = function(e) {
console.log('Message received from main script:' + e.data);
if (e.data.type == 10) {
console.log('data:' + e.data.type);
}
}
当前两行被注释掉时,它工作得很好。否则我会在浏览器控制台中收到错误 "SyntaxError: let is a reserved identifier require.js:52:2"。根据 MDN 文档,OS.File for Workers 这种方式是正确的。我究竟做错了什么? Firefox 版本为 39.0.3。
【问题讨论】:
-
@limelights,如何在 Worker 构造函数中为脚本指定
version=1.7?我在 browserOverlay.xul 中尝试过<script type="application/x-javascript;version=1.7 "src="..."/>,但没有结果
标签: javascript firefox