0

我的扩展程序使用了两个选项卡,我想在它们之间来回传递事件。我已经开发了一个通过后台页面 api 执行此操作的 Google Chrome 扩展程序,但在 Firefox 中似乎没有等效项。

我认为 firefox 扩展文档中的 message-manager 可以解决问题,但是该对象的文档很差。

如果我不能直接从 google chrome api 导入背景页面的想法,我会很高兴使用其中一个选项卡来控制另一个选项卡。

任何帮助/指导都会很棒。

4

1 回答 1

2

为此,您需要在 main.js 中设置一个事件管道,该管道接受来自一个页面的内容脚本的事件并将其通过管道传送到另一页面的内容脚本:

https://addons.mozilla.org/en-US/developers/docs/sdk/1.7/dev-guide/guides/content-scripts/index.html

我不完全确定您的用例是什么,因此很难推荐更具体的技术。你会做的是:

  • 确保内容脚本附加到每个选项卡
  • 当在选项卡中发生的给定事件时,将该事件发射到main.js使用self.port.emit
  • 当该事件到达 main.js 时,将其发送给另一个选项卡的工作人员。

我不清楚的一件事是这两个选项卡是否将是唯一使用该特定 URL 打开的选项卡?

于 2012-05-29T23:37:47.937 回答