Chrome瀏覽器擴展開發系列之十一:NPAPI插件的使用


在Chrome瀏覽器擴展中使用HTML和JavaScript非常容易,但是如何重用已有的非JavaScript遺留系統代碼呢?答案是將NPAPI插件綁定到Chrome瀏覽器擴展,從而實現在Chrome瀏覽器擴展中通過JavaScript調用遺留系統代碼。

注意,出於安全性的考慮,NPAPI已經於2015年開始被Chrome瀏覽器全面禁用。請使用PPAPI(Pepper Plugin API)開發新插件,詳情請關注本文的后續內容。

下面介紹的內容僅供參考。

由於NPAPI插件中的代碼擁有各種權限,Chrome瀏覽器無法設置任何限制,所以對於來自NPAPI插件的輸入參數必選格外小心。由於NPAPI的安全風險,在將包含NPAPI插件的Chrome瀏覽器擴展發布到Chrome Web Store時,需要人工檢查。

要在Chrome瀏覽器擴展中使用NPAPI插件,首先要在manifest.json文件中聲明NPAPI插件的位置等信息如下:

{

...

"plugins": [

{ "path": "extension_plugin.dll" }//相對於manifest.json文件的相對路徑

{ "public": true }//Web頁面或content scripts是否可訪問該NPAPI插件,

//默認false,表示只有Chrome瀏覽器擴展才能夠訪問

],

...

}

其次,需要在Chrome瀏覽器擴展中(public=false)或任何Web頁面或content scripts中(public=true)的HTML文件中通過MIME類型加載NPAPI插件,示例如下:

<embed type="application/x-my-extension" id="pluginId">

<script>

var plugin = document.getElementById("pluginId");

var result = plugin.myPluginMethod(); //調用NPAPI插件中的方法

console.log("my plugin returned: " + result);

</script>

注意,替換上述頁面中的x-my-extension為合適的MIME類型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM