0

我写了一个 Firefox 扩展来查询一些浏览器信息。我需要将此信息从我的扩展程序发送到 NPAPI 插件。

我怎样才能做到这一点?有没有办法在 NPAPI 插件和扩展的 JavaScript 代码之间进行通信?我很感激任何有用的链接或代码片段。

4

1 回答 1

2

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

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

  • var plug = someDocument.getElementById('yourPluginId');
  • 或者通过查找您想要的没有特定 ID的embed/元素object

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

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

于 2012-07-30T09:28:21.260 回答