5

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

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 元素)。

我知道无法通过将消息发送到 pagemod postMessage(),那么如何使这些模块进行通信?有没有优雅的worker解决方案?

4

1 回答 1

2

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

于 2013-12-17T02:03:30.577 回答