zoukankan      html  css  js  c++  java
  • 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类型。

  • 相关阅读:
    第十八章、使用集合
    第十九章、枚举集合
    第十七章、泛型概述
    第十六章、使用索引器
    第十五章、实现属性以访问字段
    第十四章、使用垃圾回收和资源管理
    第十三章、创建接口和定义抽象类
    AtCoder Grand Contest 018 E
    AtCoder Regular Contest 059 F Unhappy Hacking
    Codeforces 464E. The Classic Problem
  • 原文地址:https://www.cnblogs.com/champagne/p/4838261.html
Copyright © 2011-2022 走看看