繁体   English   中英

从chrome到非特权代码的Firefox插件SDK消息

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM