首先说明,chrome的扩展并不它的插件,网上不少说写插件,其实都是说的扩展。写扩展并不复杂,只要根据chrome提供的一系列的API进行就能够实现不少的功能。只是对API的学习是有代价的,加上国内访问chrome官网文档并不顺利。虽然360提供了一个翻译文档,并且有很多例子,但它的内容仍是太少,有些问题它仍然没有涉及。因此,若是是作一个简单的应用没有什么问题,但实际的项目开发每每得不到有用的介绍和解释。ajax
这个系列的文章将从解决一些实际的问题入手,涉及的内容大体有如下几个:chrome
博主也是在学习中,所说的也是开发过程当中的一些总结,并不必定正确,若是有错,还请包涵。json
写扩展只有一个文件是固定的,其它的并无什么固定的要求,如固定的格式,固定的文件夹等。这个固定的文件就是它的配置文件,一个JSON格式的文件:manifest.json,基本内容以下:浏览器
manifest.jsoncookie
{
"manifest_version": 2, "name": "My Extension", "description": "Extension description", "version": "1.0" }
这是一个最简单的文件,有2个须要注意的问题:学习
这几项不用介绍,应该都知道它们是干吗的,它们会出如今扩展界面里,别的就没什么用了。一个真正的扩展固然不可能只有这些。它能涉及到的,博主简单概括为两类:spa
那么,若是你的扩展须要涉及什么,就得把它添加到配置JSON里,也就是manifest.json文件中,如须要用到Tab:插件
{
"manifest_version": 2, "name": "My Extension", "description": "Extension description", "version": "1.0", "permissions": [ "tabs" ] }
permissions即为容许的,它会告诉chrome,这个插件是容许操做Tab的,否则chrome就容许让你使用它Tab相关的API。因此,若是还有使用书签,或是别的什么东西时,均可以写在这里面。如,咱们要使用代理相关的API:翻译
{
"manifest_version": 2, "name": "My Extension", "description": "Extension description", "version": "1.0", "permissions": [ "tabs", "proxy" ] }
proxy即表明可使用代理相关的API,诸如比类还有cookie,history等,具体相关能够查阅官方文档代理
chrome扩展对目录并无严格的要求,因此,除了manifest.json这个文件必须,其它的都是按需增长。目录结构能够按你的习惯创建的命名,都没有问题。