【问题标题】:Communication between page-mod and context-menu in Firefox Addon SDKFirefox Addon SDK 中 page-mod 和 context-menu 之间的通信
【发布时间】:2012-10-31 19:54:10
【问题描述】:

通过context-menu 模块,我检测到用户在哪个DOM 元素上单击了我的自定义上下文菜单项“Mark”:

var menu = require("context-menu").Item({
  label: "Mark",
  contentScriptFile: data.url("context.js"),
  onMessage: function (node) {
    //Send the node to page-mod
  }
});

context.js:

self.on("click", function (node, data) {
    self.postMessage(node);
});

现在我想将此节点引用发送到 page-mod 模块,在该模块中,每个注入 pagemod 的 contentScript 的页面都会知道我单击的节点(并在每个选项卡中用红色边框标记 HTML 元素)。

我知道通过postMessage() 向pagemod 发送消息是不可能的,那么我怎样才能让这些模块进行通信呢?有没有优雅的worker 解决方案?

【问题讨论】:

    标签: firefox contextmenu firefox-addon-sdk add-on postmessage


    【解决方案1】:

    这是不可能的,postMessage 部分正在 JSON 化您的消息,因此消息中的节点被忽略。您将通过将有关节点的数据发送到插件上下文(使用 postMessage)来实现您的目标。

    【讨论】:

    • 感谢您的澄清!!在 onMessage 中识别节点的任何提示?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多