1
在使用jetpack的Firefox扩展中,我有一个panel,并附有contentScript。该面板设置为最初显示一个URL。如果面板改变其位置(通过点击链接或document.location=
),我不能再向contentScript发送消息(它会引发一个ERR_DESTROYED,“该页面已被销毁,不能再使用。”)。如何在jetpack面板更改位置时保持contentScript正常工作
当位置变化时,有没有办法让我的contentScript工作(或至少重新加载它)?或者我应该避免完全改变位置,只能操纵原始面板内容?
这里的展示行为的最小脚本:
exports.main = function (options, callbacks) {
panel = require("panel").Panel({
contentURL: "http://stackoverflow.com/",
contentScript: 'self.port.on("foo", function() { console.log("foo received"); });'
});
widget = require("widget").Widget({
id: "test-panel",
label: "test panel",
contentURL: "http://stackoverflow.com/favicon.ico",
panel: panel
});
panel.on("show", function() {
panel.port.emit("foo");
});
};