Javascript 在加载项SDK主加载项脚本和SDK/页面工作程序脚本之间进行通信
我正在尝试在我的主附加SDK脚本index.js和使用Javascript 在加载项SDK主加载项脚本和SDK/页面工作程序脚本之间进行通信,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,我正在尝试在我的主附加SDK脚本index.js和使用SDK/page worker创建的页面工作程序中的脚本之间进行通信。不幸的是,我有问题 我能够从我的主脚本与页面工作程序通信:在下面的代码中,我从socket.on-console.log('new post')从页面工作程序中的脚本触发一个事件。但是,主加载项脚本看不到从页面工作程序发送的消息 HTML(worker.HTML): var socket=io.connect('http://192.168.0.21:8081'); so
SDK/page worker
创建的页面工作程序中的脚本之间进行通信。不幸的是,我有问题
我能够从我的主脚本与页面工作程序通信:在下面的代码中,我从socket.on
-console.log('new post')
从页面工作程序中的脚本触发一个事件。但是,主加载项脚本看不到从页面工作程序发送的消息
HTML(worker.HTML):
var socket=io.connect('http://192.168.0.21:8081');
socket.on('newPost',函数(数据){
控制台日志(“新邮件”);
//对此,一切都正常!!!!!!!!!!!!
self.port.emit('newPost',“”);
});
要索引.js文件,请执行以下操作:
var buttons=require('sdk/ui/button/action');
var functions=require('./module.js');
var pageWorkers=require(“sdk/页面工作者”);
var notifications=require('sdk/通知');
var self=要求(“sdk/self”);
functions.act.checkMsgsCount();
var pageWorker=pageWorkers.Page({
contentScriptWhen:“就绪”,
contentURL:self.data.url(“worker.html”)
});
pageWorker.port.on('newPost',函数(数据){
console.log(“sent newPost”);
functions.act.newPostNotify();
});
按钮({
id:“主bt”,
标签:“开始”,
图标:{
“16”:“/icon-16.png”,
“32”:“/icon-32.png”,
“64”:“/icon-64.png”
},
onClick:functions.act.checkMsgsCount
});
在worker.html中,我必须将self.port.emit更改为:addon.port.emit
因为我在HTML文件中的
标记中使用了一个脚本,所以我必须通过加载项
对象与主加载项脚本通信
Tools>Web development
菜单中)中没有任何错误/警告与内联脚本相关?鉴于这是您解决问题的方式,请接受您的答案。