Google chrome extension 与Firefox扩展中的内容脚本通信

Google chrome extension 与Firefox扩展中的内容脚本通信,google-chrome-extension,firefox-addon,firefox-addon-sdk,Google Chrome Extension,Firefox Addon,Firefox Addon Sdk,我有一个Chrome扩展,它执行以下操作: chrome.extension.sendRequest({action:“store”,working_tab:tab.id, 存储_text:text}); 相应地,听众是: chrome.extension.onRequest.addListener(函数(请求、发送方、发送响应){ 如果(request.action==“存储”){ storeObject.process(); sendResponse({}); } } 你能告诉我,Fir

我有一个Chrome扩展,它执行以下操作:

chrome.extension.sendRequest({action:“store”,working_tab:tab.id,
存储_text:text});
相应地,听众是:

chrome.extension.onRequest.addListener(函数(请求、发送方、发送响应){
如果(request.action==“存储”){
storeObject.process();
sendResponse({});
}
}
你能告诉我,Firefox扩展对应的代码是什么吗?我遵循了这个规则,但这对我帮助不大

非常感谢,如果你能给我发一段代码片段,这样我就可以开始这方面的工作了


我这样做的原因:我正在尝试将此Chrome扩展移植到Firefox。

Firefox附加SDK的等效代码如下:

在main.js脚本中,创建了一个page mod对象,将内容脚本注入到页面中,并向其发送一条消息:

// main add-on script
pageMod.PageMod({
  include: "*.org",
  contentScriptFile: self.data.url("my-script.js"),
  // Send the content script a message inside onAttach
  onAttach: function(worker) {
    worker.port.emit("replacePage", "Page matches ruleset");
  }
});
在内容脚本中,将接收以下事件:

// content script
self.port.on("replacePage", function(message) {
  document.body.innerHTML = "<h1>" + message + "</h1>";
});
//内容脚本
self.port.on(“replacePage”,函数(消息){
document.body.innerHTML=“+消息+”;
});
可在此处找到一个工作示例:

需要注意的是,尽管上面的示例仅显示了从外接程序到页面的通信,但也可能出现相反的情况-您可以使用相同的基本模式将消息从工作人员发送到内容脚本,然后再发送回外接程序。有关如何使用内容脚本的详细信息,请参阅通讯工程:


Firefox附加SDK的等效代码如下:

在main.js脚本中,创建了一个page mod对象,将内容脚本注入到页面中,并向其发送一条消息:

// main add-on script
pageMod.PageMod({
  include: "*.org",
  contentScriptFile: self.data.url("my-script.js"),
  // Send the content script a message inside onAttach
  onAttach: function(worker) {
    worker.port.emit("replacePage", "Page matches ruleset");
  }
});
在内容脚本中,将接收以下事件:

// content script
self.port.on("replacePage", function(message) {
  document.body.innerHTML = "<h1>" + message + "</h1>";
});
//内容脚本
self.port.on(“replacePage”,函数(消息){
document.body.innerHTML=“+消息+”;
});
可在此处找到一个工作示例:

需要注意的是,尽管上面的示例仅显示了从外接程序到页面的通信,但也可能出现相反的情况-您可以使用相同的基本模式将消息从工作人员发送到内容脚本,然后再发送回外接程序。有关如何使用内容脚本的详细信息,请参阅通讯工程: