天天看點

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

本文介紹在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類型。

繼續閱讀