我正在使用 JPM Addon 开发一个 FireFox 扩展。我正在从主 index.js 文件中加载一个面板,就像这样......
var panel = require('sdk/panel');
var panel = panel.Panel({
contentURL: url('pages/popup.html'),
onHide: doHide
});
//and in another place...
panel.show({
position: button
});
pages/popup.html 文件引用了一个 javascript 文件,我使用相对路径来加载它。我需要弄清楚如何将由面板网页加载的这个 javascript 文件中的消息传递到插件的主 index.js 脚本文件。
我尝试了 postMessage 以及 port.emit ...
所以,要么
//index.js
panel = require("sdk/panel").Panel({
onMessage: function(message) {
console.log(message);
}
});
//popup.js - panel file
panel.postMessage('something');
...或者...
//index.js
panel.on("message", function(text) {
console.log(text);
});
//popup.js
self.port.emit('message', 'hello world');
但是,这两种方法似乎都不起作用。帮助!