[英]Firefox Addon SDK message from chrome to unprivileged code
我正在尝试在Firefox插件工作程序脚本和网页的javascript之间传递消息。 我发现了这一点 ,它解释了如何将消息发送到脚本并获得回复,但是我只想将消息从chrome发送到非特权代码。 我已经尝试使用以下两种方法。
我是从附加到面板的工作人员发送的,我想用一些注入到页面DOM中的JavaScript接收消息。
发送
var element = document.createElement("MyExtensionDataElement");
element.setAttribute('detail', "hi");
document.documentElement.appendChild(element);
console.log("created the event", element);
var evt = document.createEvent("Events");
evt.initEvent("MyExtensionEvent1", true, false);
element.dispatchEvent(evt);
接受
document.addEventListener("MyExtensionEvent", function(e) {
myExtension.myListener(e);
}, false, true);
并通过一个简单的CustomEvent
发送
var e = new CustomEvent("event",{detail:"string here"});
window.dispatchEvent(e);
接收
window.addEventListener("event",function(e){
console.log(e.detail);
});
第一个发送消息,但没有收到,第二个甚至都未能创建CustomEvent。 对于这个问题,我们将不胜感激,如果问题是业余的,也请您道歉。 我是Firefox插件开发的新手。
您的接收错误,您需要使用add第四个参数并将其设置为尝试:
所以
window.addEventListener("event",function(e){
console.log(e.detail);
});
前往
window.addEventListener("event",function(e){
console.log(e.detail);
}, false, true);
请参阅本主题- 方法的initCustomEvent传递数据不再起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.