我无法在Firefox扩展中加载NPAPI插件。我现在这样做的方式是插件已经在Windows中注册,所以我通过覆盖层加载嵌入元素,注入到通过window.onload访问的铬合金&中。显然,NPAPI元素已加载,但我无法访问任何本机函数。无法访问Firefox扩展中的NPAPI功能
这是我的main.xul:
<overlay ...>
<window id="main-window">
<embed type="application/x-myplugin" id="myplugin" width="300" height="300"></embed>
</window>
</overlay>
我设置宽度/高度值,所以我可以看到插入到铬嵌入。
这里是我的JS:
window.addEventListener("load", function() {
var plugin = document.getElementById("myplugin");
dump(plugin + "\n");
dump("version: " + plugin.version + "\n");
});
转储:
[object XULElement]
undefined
如果相同的嵌入代码放置到HTML文档,plugin.version将返回 “1000”。 NPAPI插件已确认工作,因为我可以在HTML文档中工作,并加载到Chrome扩展程序中。
有什么我做错了吗?请注意,我必须在chrome中加载NPAPI插件,而不是将其按需注入到页面中,因为属性需要从与网页分离的其他对话框中检索。也许还有另外一种方法来加载一个NPAPI插件,每个浏览器的加载可以从Firefox扩展中调用一次。
如果有任何帮助,NPAPI是使用Firebreath框架构建的。
注:我已经通过此线程:link,显然可以得到插件加载,但仍然无法访问任何功能。
谢谢。
非常感谢!这解决了它。 –