从昨晚开始,在试图与内容脚本通信时,在加载脚本所连接的页面的选项卡中触发“准备”事件之后,我突然发现了这个错误。
console.error:
JPM [error] Message: TypeError: this.sandbox is undefined
Stack:
receive@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/worker-child.js:87:7
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
messageReceived@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/remote/child.js:67:37在绝望中,我甚至尝试从mozilla网站复制粘贴代码:
在index.js中:
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*",
contentScriptFile: data.url("element-getter.js"),
onAttach: function(worker) {
worker.port.emit("myCustomEvent", "mymessage");
worker.port.on("backEvent", function(content) {
console.log(content);
});
}
});在element.getter.js中:
self.port.on("myCustomEvent", function(message) {
self.port.emit("backEvent", "newMessage");
});使用“选项卡”sdk模块,wen试图通过工作人员、主脚本和内容脚本进行通信,也出现了同样的错误。
编辑:如果确认/否认这种行为,其他人可以吗?
任何想法都欢迎!
我在这里提交了一个bug报告:bug.cgi?id=1314557
发布于 2016-11-03 11:00:50
苏..。如果在新文件夹中没有"jpm init“,并复制粘贴另一个先前初始化过的文件夹的内容,则会得到上面的错误。我搞错了。
https://stackoverflow.com/questions/40375547
复制相似问题