簡體   English   中英

無法訪問Firefox擴展中的NPAPI函數

[英]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>

附加信息: https : //developer.mozilla.org/en/Namespaces

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM