Chrome扩展开发指南
Posted on: at
Chrome Extensions 是什么?
定义
基于 Web 技术(HTML,Javascript、CSS)的,定制浏览器的浏览体验的软件程序
能够运行的平台
基于 Chrome Extensions 规格创建的扩展能运行在大部分基于 Chromium 内核的环境,如 Chrome、Edge、Electron 等
规格版本
mv2 是比较稳定的版本
mv3 在 mv2 的版本上增加了 Promise 版 api 等特性
API池——我们能利用扩展实现什么?
| 类型 | api类 | 描述 |
| --- | --- | --- |
| 生命周期 | runtime、windows | 浏览器或网页的生命周期 |
| 系统信息 | system.cpu、system.memory | 系统信息 |
| 提醒 | alarms、notifications | 阻断型强提醒或是系统的消息通知 |
| 书签 | bookmarks | |
| 标签页 | tabs | 调用或接管标签页功能 |
| 原生右键菜单 | contextMenus | |
| 下载行为 | downloads | |
| 开发者工具相关 | debugger、devtools.panels | |
| | | |
尝鲜教程
https://developer.chrome.com/docs/extensions/mv2/overview/#hello-extensions
架构
- Background:随扩展进程初始化执行,通常用于权限初始化、配置初始化、注册事件中心,该进程拥有大部分API权限
- Content:随每个Tabs被创建时执行
- Popup:点击扩展图标时的下拉浮层的实现
- Storage:扩展进程的存储空间
脚手架
https://github.com/Runtu4378/chrome-extensions-template