chrom扩展开发-入门

先了解一下chrome的两种功能延伸方式:

* 扩展(Extension)
1.指的是通过调用 Chrome 提供的 Chrome API 来扩展浏览器功能的一种组件,工作在浏览器层面,使用 HTML + Javascript 语言开发[*]
2.查看方式 chrome://extensions

* 插件(Plug-in)
1.指的是通过调用 Webkit 内核 NPAPI 来扩展内核功能的一种组件,工作在内核层面,理论上可以用任何一种生成本地二进制程序的语言开发,比如 C/C++、Delphi 等
2.一般在网页中用 <object> 或者 <embed> 标签声明的部分,就要靠插件来渲染。
3.查看方式 chrome://plugins

第一次尝试,初步知识来自这里,但其中的manifest.json文件内容要补充一句 "manifest_version": 2。否则chrom加载时会提示错误(错误信息也很清晰,可baidu之)


manifest.json的完整内容说明一下:

{
    "manifest_version": 2,                         //固定的
    "name": "KAKA",                                //你的大名
    "version": "1.0.0",
    "description": "chrom插件开发入门,关注前端",      //显示在chrom上的的插件说明
    "app": {
        "launch": {
            "web_url": "http://baidu.com"          //入门实例,所以这里只是打开插件后自动跳转到baidu首页 -- 非广告贴 :) 
        },
        "urls": [ "http://baidu.com" ]
    },
    "icons": {
        "128": "kaka.png",                         //随便下一张图片就行了
        "48": "kaka.png",
        "16": "kaka.png"
    },
    "requirements":{
        "3D":{
            "features":["css3d","webgl"]
        }
    } 
}



浏览器加载manifest.json后,如果修改了其中内容,只要刷新一下插件加载页chrome://extensions/就行了(也许有其他生效方式,但这个也挺方便的)



FAQ:
Q:chrome://extensions/看不到定义的插件
A:manifest.json中的内容和重要,如果写错了或者对应的资源不存在(如:没有kaka.png文件),插件会加载失败

Q:chrome://extensions/看到了插件,但chrom插件列表中看不到插件
A:manifest.json中是否定义了字段 :app

Q:chrome://extensions/看到了插件,但是是灰色的,刷新有提示错误
A:manifest.json中是否定义了字段 :

          app.launch.web_url 或  app.launch.local_path 

Q:关闭页面后也能运行插件
A:"permissions": ["background"]
在manifest.json中如果声明了background权限,那么你的bg.js将可以常驻内存,意味着及时关闭所有的CHROME标签,插件也不会退出。
希望能离线工作的插件可以这么做,执行如上传/下载等操作,但也要低调,对系统资源的过多占用会引起用户的反感。


最后,正途在这 http://developer.chrome.com/extensions/extension.html

你可能感兴趣的:(浏览器,开发,chrome,插件,扩展)