chrome插件开发入门

一、主要内容:

  1. 开发(示例、manifest介绍)
  2. 几种js
  3. 调试
  4. api
  5. 打包

二、基础篇--如何开发

1、一个简单的二维码插件目录,核心文件manifest.json,以下简称清单文件,这个文件是必须有的,其余的html、js、css、img等就根据需要来创建就可以了。

chrome插件开发入门

chrome插件文件夹

2、manifest.json介绍

必须配置的字段、以及常用的配置字段

chrome插件开发入门

manifest.json

defalut_popup 必须指定html文件,另外html内不允许内联js(inline javascript)

插件的开发和普通web开发是一样的,都是用html、js、css。除此之外扩展还提供很多强大的api,帮助我们丰富浏览器的扩展功能.

3、常用API

  • chrome.tabs
  • chrome.runtime 可以监听和响应扩展生命周期的事件
  • chrome.webRequest
  • chrome.window
  • chrome.storage
  • chrome.contextMenus
  • chrome.devtools
  • chrome.extension

使用大多数的api要声明权限的,因为js中使用chrome API,所以示例中在permissions这个字段设置了tabs。

当然,清单的配置远不止这些,随着功能的强大,会看到更多的字段。

https://developer.chrome.com/extensions/manifest

3、代码编写完成后,打开扩展的界面, chrome://extensions.,勾选开发者模式,点击‘已解压的扩展程序’,选择开发好的文件夹,这样就成功添加上了扩展。

chrome插件开发入门

extensions

4、调试

示例中,扩展功能界面是以弹窗形式展示,点击图标,右键审查元素即可。

5、打包与发布

  • 登录chrome应用商店
  • https://chrome.google.com/webstore/developer/dashboard/ 点击进去开发者信息中心
  • 添加压缩后的zip包
  • 按提示添加必填的信息,发布即可

三、插件展示形式

1、BrowserActions

  • manifest.json

chrome插件开发入门

manifest.json

  • background.js

chrome插件开发入门

background.js

  • 如图:

chrome插件开发入门

弹出的ui

2、PageActions

  • manifest.json

chrome插件开发入门

manifest.json

  • background.js

chrome插件开发入门

background.js

  • 如图:

chrome插件开发入门

url

chrome插件开发入门

url

3、ContextMenus

  • manifest.json

chrome插件开发入门

manifest.json

  • background.js

chrome插件开发入门

background.js

  • 如图:

chrome插件开发入门

右键

4、Omnibox

  • manifest.json

chrome插件开发入门

manifest.json

  • background.js

chrome插件开发入门

background.js

  • 如图:

chrome插件开发入门

 

5、Overview

  • manifest.json

chrome插件开发入门

background.js

  • 在新建一个覆盖的页面blank.html即可
  • 如图:

chrome插件开发入门

tab

6、Commands

  • manifest.json

chrome插件开发入门

manifest.json

  • background.js

chrome插件开发入门

background.js

四、background scriptscontent scripts,

1、background scripts

第一次安装扩展或者扩展更新到最新版

监听事件和触发事件的场景,例如导航到新页面,删除书签或关闭选项卡

内容脚本或其他扩展程序发送消息。

扩展在后台脚本中监视这些事件,然后对指定的指令作出反应。

保持后台脚本持久活动的唯一场合是扩展使用chrome.webRequest API来阻止或修改网络请求。 webRequest API与非持久性后台页面不兼容。

五、经验小结

想看其他插件的源码

chrome插件开发入门

 

进Extensions

chrome插件开发入门

 

扩展ID在这查看

chrome插件开发入门