【发布时间】:2016-11-02 08:40:26
【问题描述】:
从昨晚开始,在尝试与内容脚本通信时,在加载脚本附加到的页面的选项卡中触发“就绪”事件后,我突然遇到了这个错误.
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");
});
在尝试使用“tabs”sdk 模块在主脚本和内容脚本之间通过 worker 进行通信时出现同样的错误。
编辑: 如果确认/否认这种行为,其他人可以请吗?
欢迎提出任何想法!
我在这里提交了错误报告:https://bugzilla.mozilla.org/show_bug.cgi?id=1314557
【问题讨论】:
-
您使用的是哪个版本的 Firefox?你最近更新了吗?
-
@Makyen 最新的 FF 开发版。 51.0a2 (2016-11-01) - 我猜是昨晚更新的。
标签: firefox sdk firefox-addon-sdk