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

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

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

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

因爲NPAPI插件中的代碼擁有各類權限,Chrome瀏覽器沒法設置任何限制,因此對於來自NPAPI插件的輸入參數必選格外當心。因爲NPAPI的安全風險,在將包含NPAPI插件的Chrome瀏覽器擴展發佈到Chrome Web Store時,須要人工檢查。app

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

{ip

...開發

"plugins": [get

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

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

//默認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類型。

相關文章
相關標籤/搜索