Firefox addon 使用端口与边栏库进行通信

Firefox addon 使用端口与边栏库进行通信,firefox-addon,firefox-addon-sdk,Firefox Addon,Firefox Addon Sdk,我正在使用Daniel Buchner的边栏库。 - 插件是否可以与侧栏通信 /*** main.js ***/ var sidebarPanel = require('sidebar')sidebar({ header: false, width:'200px', url: data.url('panel.html'), onDomReady: function(){ this.injectAssets({ css:

我正在使用Daniel Buchner的边栏库。
-

插件是否可以与侧栏通信

/*** main.js ***/

var sidebarPanel = require('sidebar')sidebar({
    header: false,
    width:'200px',
    url: data.url('panel.html'),
    onDomReady: function(){
        this.injectAssets({
            css: [data.url('panel.css')],
            js: [data.url('panel.js')]
        });
    }
});
sidebarPanel.port.on('msg', function(sidebarmessage){
    console.log(sidebarmessage);
});
sidebarPanel.port.emit('msg', 'hello sidebar');

我已经阅读了“使用端口”文档,但无法找到解决方案。


我试图修改页面mod示例以使用端口,但没有成功。您链接到的侧边栏模块不是官方的SDK api,并且(现在我查看代码)没有能够通过异步消息传递进行通信的典型SDK模式。在当前状态下,它无法做到这一点。

谢谢,我注意到了这一点,但认为可能有一个简单的解决方法。我没有尝试附加内容脚本并与之通信,而是创建了库的修改版本,并将使用它的方法来操作侧边栏的内容。这不是最好的解决方案,但当/如果他们决定添加侧栏作为官方api模块时,我会更改它。
/*** panel.js ***/

self.port.on('msg', function(addonmessage){
    console.log(addonmessage);
});
self.port.emit('msg', 'hello addon');