扩展和插件之间的通信

Communication between extension and plugin

本文关键字:通信 之间 插件 扩展      更新时间:2024-04-16

我已经编写了一个Firefox扩展,它可以查询一些浏览器信息。我需要将这些信息从我的扩展发送到NPAPI插件。

我怎样才能做到这一点?NPAPI插件和扩展的JavaScript代码之间有什么通信方式吗?我很感激任何有用的链接或代码片段。

如果插件提供了脚本接口,则扩展可以在需要发送信息时调用其函数。

您需要访问插件元素,例如:

  • var plug = someDocument.getElementById('yourPluginId');
  • 或者在没有特定ID的情况下查找所需的embed/object元素

要查找没有特定id的元素,可以使用XPath或getElementsByTagName()收集它们
请记住,如果您没有使用特定于插件的mime类型,则mime类型可能不一定能识别您的插件。除了type属性之外,您可能还需要检查自定义插件名称/版本信息。

一旦你有了插件元素,你就可以简单地从JavaScript中调用它上的函数(例如plug.someFunction(someData);)。