如何从内容脚本发送消息到面板?
我的firefox插件中的main.js,page-mod的内容脚本和面板的内容脚本之间的消息传递存在一些问题。我将Chrome扩展代码传递给Firefox插件。
这些js文件的顺序是什么? 我试图找出与控制台,但日志刷新。
我已将Chrome特定的API传输到firefox插件API,但我不能确定其他本机消息js代码应该更改。现在,我将向您展示该示例。 在main.js
:
var pmworker = []
var pagemod = PageMod({
include: ['*'],
contentScriptWhen: 'start',
contentScriptFile: [data.url('pm-content.js')],
onAttach: function(worker) {
worker.port.on('message',
function(data) {
switch (data.type) {
case 'some type':
do something;
break;
}
});
worker.on('detach',function() {
detachWorker(this, pmworker);
});
pmworker.push(worker);
}
});
var panel = require("sdk/panel").Panel({
width: 322,
height: 427,
contentURL: data.url("panel.html"),
include:["http://*/*","https://*/*"]
});
panel.on('message', function(messagedata) {
switch(messagedata.type) {
case 'some type':
panel.port.emit("something");
break;
}
});
在pm-content.js
:
var sendInfoToFrame = function(){
var frameWindow = document.getElementById(iframeId).contentWindow;
var infoMsg = {type:"some type",content:something};
frameWindow.postMessage(infoMsg, "*");
}
在panel.html
的head
包含一个带script
标签的panel.js
:
function addParentListener(){
window.addEventListener("message",function (e) {
var message=e.data;
if(message.type="some type"){
//do something
}
},false);
}
所以消息可以通过contentWindow.postMessage
从pm-content.js
发送到panel.js
? panel.js
使用window.addListener
来接收msg(这些来自panel.js
代码和pm-content.js
是从chrome扩展代码复制的,我不会更改它)?
相反,msg是如何从panel.js
发送到内容脚本的? 我也从chrome复制相同的代码,我不知道它是否正确。 示例代码是:在panel.js中:
function sendSomeMessage(value){
var message = {type : "sometp",value: value};
window.parent.postMessage(message, "*");
}
以及pm-content.js
的接收代码:
function addMessageListener() {
window.addEventListener("message",function(e) {
var message = e.data;
if (message.type == null) {
return;
}
var msgType = message.type;
switch (msgType) {
case "sometp":
//do something
}
}, false);
}
我运行的代码,我得到很多错误。所以我应该改变这些消息代码和如何? 谢谢。
这些js文件的顺序是什么? 我试图找出与控制台,但日志刷新。
使用网络面板而不是控制台
我已将Chrome特定的API传输到firefox插件API,但我不能确定其他本机消息js代码应该更改。现在,我将向您展示该示例。 在main.js中:
使用或分析现有的工具,如同类似的问题:
跨浏览器扩展API?
链接地址: http://www.djcxy.com/p/45749.html