Chrome扩展开发指南

Posted on:  at 

Chrome Extensions 是什么?

定义

基于 Web 技术(HTML,Javascript、CSS)的,定制浏览器的浏览体验的软件程序

能够运行的平台

基于 Chrome Extensions 规格创建的扩展能运行在大部分基于 Chromium 内核的环境,如 Chrome、Edge、Electron 等

规格版本

mv2 是比较稳定的版本
mv3 在 mv2 的版本上增加了 Promise 版 api 等特性

About Manifest V2
Welcome to Manifest V3

API池——我们能利用扩展实现什么?

| 类型 | api类 | 描述 |
| --- | --- | --- |
| 生命周期 | runtime、windows | 浏览器或网页的生命周期 |
| 系统信息 | system.cpu、system.memory | 系统信息 |
| 提醒 | alarms、notifications | 阻断型强提醒或是系统的消息通知 |
| 书签 | bookmarks | |
| 标签页 | tabs | 调用或接管标签页功能 |
| 原生右键菜单 | contextMenus | |
| 下载行为 | downloads | |
| 开发者工具相关 | debugger、devtools.panels | |
| | | |

API Reference

尝鲜教程

https://developer.chrome.com/docs/extensions/mv2/overview/#hello-extensions


架构

  • Background:随扩展进程初始化执行,通常用于权限初始化、配置初始化、注册事件中心,该进程拥有大部分API权限
  • Content:随每个Tabs被创建时执行
  • Popup:点击扩展图标时的下拉浮层的实现
  • Storage:扩展进程的存储空间

image.png


脚手架

https://github.com/Runtu4378/chrome-extensions-template

image.png


参考文档