[英]Cannot access NPAPI functions in Firefox Extension
我無法讓NPAPI插件加載到Firefox擴展中。 我現在使用的方式是插件已在Windows中注冊,因此我通過覆蓋層加載了嵌入元素,該覆蓋層被注入chrome中並通過window.onload訪問。 顯然NPAPI元素已加載,但是我無法訪問任何本機函數。
這是我的main.xul:
<overlay ...>
<window id="main-window">
<embed type="application/x-myplugin" id="myplugin" width="300" height="300"></embed>
</window>
</overlay>
我設置了width / height值,以便可以看到嵌入到chrome中的嵌入。
這是我的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擴展中調用。
如果有幫助,可以使用Firebreath框架構建NPAPI。
注意:我已經遵循了這個線程: link ,顯然可以加載插件,但是仍然無法訪問任何功能。
謝謝。
XUL中沒有<embed>
標記,您的意思是使用HTML <embed>
標記。 使用此標簽的HTML名稱空間:
<embed xmlns="http://www.w3.org/1999/xhtml" ...></embed>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.