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类型。

  • 相关阅读:
    extern "C" 分析 转
    Python标准库3.4.3webbrowser21.1
    rxtx java lib /var/lock issue
    list installed package & remove installed package & find package from repository Archlinux
    eclipse initialize
    add repo for CentOS
    RPMforge for CentOS
    Install Core Development Tools
    [Qtcreator] CMake + Multiple Build configuration
    list installed package & remove installed package & find package from repository
  • 原文地址:https://www.cnblogs.com/champagne/p/4838261.html
Copyright © 2011-2022 走看看