我编写了一个Firefox扩展程序,用于查询某些浏览器信息。我需要将此信息发送到我的扩展程序中的NPAPI插件。
我怎样才能做到这一点?有没有办法在NPAPI插件和扩展的JavaScript代码之间进行通信?我很感激任何有用的链接或代码片段。
答案 0 :(得分:2)
如果插件提供scripting interface,扩展程序只需在想要发送信息时调用其函数。
您需要有权访问插件元素,例如:
var plug = someDocument.getElementById('yourPluginId');
embed
/ object
元素而无需特定ID 要查找没有特定id
的元素,您可以例如收集他们using XPath或使用getElementsByTagName()
请记住,如果您没有使用特定于插件的插件,则mime类型可能不一定标识您的插件。除type
属性外,您可能还需要检查自定义插件名称/版本信息。
获得插件元素后,您只需通过JavaScript调用函数(例如plug.someFunction(someData);
)。