Связь между page-mod и контекстным меню в Firefox Addon SDK

С помощью модуля 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, где каждая страница с внедренным contentScript pagemod узнает узел, на который я нажал (и пометить элемент HTML красной рамкой на каждой вкладке).

Я знаю, что отправка сообщения на pagemod через postMessage() невозможна, так как же мне заставить эти модули общаться? Есть ли элегантное worker решение?


person Patrick Green    schedule 31.10.2012    source источник


Ответы (1)


Это невозможно, часть postMessage обрабатывает ваше сообщение в формате JSON, поэтому узел в сообщении игнорируется. Вы достигнете своей цели, вместо этого отправив данные об узле в контекст аддона (используя postMessage).

person erikvold    schedule 17.12.2013
comment
Спасибо за разъяснения!! Любые советы по идентификации узла в onMessage? - person bbbco; 10.01.2015