[英]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.