首先说明,Chrome 的扩展并不它的插件,网上很多说写插件,其实都是说的扩展。写扩展并不复杂,只要根据 Chrome 提供的一系列的 API 进行就可以实现很多的功能。只是对API的学习是有代价的,加上国内访问 Chrome 官网文档并不顺利。虽然 360 提供了一个翻译文档,而且有不少例子,但它的内容还是太少,有些问题它仍然没有涉及。所以,如果是做一个简单的应用没有什么问题,但实际的项目开发往往得不到有用的介绍和解释。
这个系列的文章将从解决一些实际的问题入手,涉及的内容大致有以下几个:
博主也是在学习中,所说的也是开发过程中的一些总结,并不一定正确,如果有错,还请包涵。
写扩展只有一个文件是固定的,其它的并没有什么固定的要求,如固定的格式,固定的文件夹等。这个固定的文件就是它的配置文件,一个JSON格式的文件:manifest.json,基本内容如下:
{
"manifest_version": 2,
"name": "My Extension",
"description": "Extension description",
"version": "1.0"
}
这是一个最简单的文件,有2个需要注意的问题:
这几项不用介绍,应该都知道它们是干嘛的,它们会出现在扩展界面里,别的就没什么用了。一个真正的扩展当然不可能只有这些。它能涉及到的,博主简单归纳为两类:
那么,如果你的扩展需要涉及什么,就得把它添加到配置 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 这个文件必须,其它的都是按需增加。目录结构可以按你的习惯建立的命名,都没有问题。

