我正在将 Chrome 扩展移植到 Firefox,它使用内容脚本通过 postMessage 调用周围页面中的方法。该页面包含一个事件侦听器,例如
window.addEventListener('message', function(event) {
console.log(event)
}, false);
我正在尝试使用调用从 firefox 附加 sdk 内容脚本发送消息:
self.postMessage({toPage: true, type: "initAck"}, "*");
顺便说一句,我尝试直接使用 windows.postMessage 但我得到一个异常说我应该使用self.postMessage
我在插件上收听此消息main.js
并通过该worker.postMessage
方法发布,但该消息从未到达页面的事件侦听器:
pageMod.PageMod({
include: "*",
contentScriptWhen: "start",
contentScriptFile: [self.data.url("jquery.min.js"),
self.data.url("myscript.js")],
onAttach: function(worker) {
worker.on("message", function(addonMessage) {
worker.postMessage(addonMessage, "*");
});
}
});
一般来说,火狐上下文脚本有没有办法访问周围的页面?