chrome 扩展(插件)开发入门教程

文章目录

参考链接
chrome插件开发流程(超全)
Chrome 插件开发入门教程--带项目结构
chrome浏览器插件

什么是 Chrome 浏览器插件?

项目结构

chrome插件的目录规范

项目文件和目录结构

在 my-chrome-extension 文件夹中创建以下文件和目录。这些文件将包含插件的配置、脚本、HTML 和其他资源:

my-chrome-extension/

├── manifest.json. ---------------------- chrome 插件配置文件

├── background.js ---------------------- service work

├── content.js ---------------------- 注入脚本

├── popup.html ---------------------- 插件弹框页面

├── popup.js ---------------------- 插件弹框 js

└── images/ ---------------------- 插件图标

├── icon-16.png

├── icon-48.png

└── icon-128.png

创建插件清单文件manifest.json

Chrome 插件的清单是唯一且必须具有特定文件名的必需文件:manifest.json;且位于项目根目录

示例

复制代码
{
  "manifest_version": 3,
  "name": "My Chrome Extension",
  "version": "0.0.1",
  "description": "My Chrome Extension Description",
  "icons": {
    "16": "images/icon_16.png",
    "32": "images/icon_32.png",
    "48": "images/icon_48.png",
    "128": "images/icon_128.png"
  }
}

manifest_version,name,version, description

manifest_version:用于指定插件使用的清单文件格式版本,目前是 3

name:插件名称,一般情况下 hover 插件图标展示的文案也是 name

version:插件版本


action : 声明插件图标和点击后展示的页面

浏览器工具栏中显示的图标或按钮,用户可以单击该图标或按钮来执行插件提供的功能或操作

示例

复制代码
{
  "action": {
    "default_icon": "icons/icon.png",
    "default_title": "Popup Title",
    "default_popup": "popup.html"
  }
}
default_icon,default_title,default_popup

content_scripts

内容脚本(content script)是"跑在网页里的插件代码",能读取/修改网页 DOM

内容脚本是在网页环境中运行的文件,可以直接访问和修改网页的 DOM。内容脚本通常用于实现与网页交互的功能,例如高亮显示文本、修改页面内容或收集页面数据。

示例

复制代码
"content_scripts": [
  {
    "matches": ["https://www.taobao.com/"],
    "js": ["content_scripts.js"]
  }
]
matches,js
  • matches:指定内容脚本将注入哪些页面,这里使用 "<all_urls>" 表示所有页面。
  • js:指定内容脚本文件。
  • 注意:matches里面匹配的网址后面要带*,除非你只在这个网站某个固定网址使用,否则都加*,不然会出现content.js加载失败,无法插入到该网站中,如果要支持所有网站,则设置"matches": ["<all_urls>"]

Background - Service Worker

Service Worker 在后台运行并处理浏览器事件

在 V3 中使用 service worker 替换 background 页面

service_worker : 在后台监听浏览器事件(service_worker是特殊的javascript环境,加载它处理事件并在不需要时终止)

示例

复制代码
{
  "background": {
    "service_worker": "service_worker.js",
    "type": "module"
  }
}
service_worker type

service_worker:指定后台脚本文件,,后台脚本 会在插件安装时运行。

module:把service_worker.js 当作 ES Module(JavaScript 模块)来加载,而不是传统的"脚本"(classic script)。

popup.html

点击插件图标时会弹出 popup.html 文件中的内容(插件弹窗的 HTML 文件,定义了插件弹窗的结构和样式)

popup.js

处理插件弹窗中的交互逻辑

"permissions"

permissions:我要用哪些功能按钮(API)

optional_permissions:这些功能先不拿,用到再问

host_permissions:我可以访问哪些网站域名

optional_host_permissions:这些网站先不访问,用到再问

content_scripts.matches:我把"网页内脚本"注入到哪些网页里




tabs

icons

定义插件的图标文件路径,支持多个尺寸。

消息通信

Action(popup) 和 content 通信

https://18055975947.github.io/extension/core/message.html

加载插件

打开 Chrome 浏览器的扩展程序管理页面

  • 在 Chrome 浏览器中,点击右上角的三点菜单(更多),选择"更多工具" -> "扩展程序"。
  • 或者,直接在地址栏输入
    chrome://extensions/ 并按回车键

启用开发者模式

在扩展程序管理页面的右上角,找到并启用"开发者模式"开关。这将允许你加载未发布的插件和查看详细的调试信息。

加载插件

  • 点击"加载已解压的扩展程序"按钮。
  • 选择你插件文件夹,然后点击"选择文件夹"

更新插件

如果你对插件进行了修改,返回到扩展程序管理页面,点击"刷新"按钮(一个箭头的图标)来更新插件

调试插件

调试后台脚本

在扩展程序管理页面,点击背景页链接(通常显示为Service Worker)以打开开发者工具。这将允许你查看和调试后台脚本的日志、错误和其他信息。

你可以在控制台标签页中查看日志消息,使用断点调试代码

调试内容脚本

  • 内容脚本运行在网页的上下文中,因此需要打开相应的网页来调试它。
  • 在开发者工具中,切换到源代码标签页,找到内容脚本文件并设置断点。
  • 你可以在控制台标签页中查看内容脚本的日志和错误信息。

调试插件弹窗

  • 鼠标点击插件,点击右键菜单会出现"审查弹出内容",即可进行调试
  • 或者
    • 点击浏览器工具栏中的插件图标,打开插件弹窗。
    • 在插件弹窗打开的状态下,右键单击插件弹窗并选择检查打开开发者工具。
    • 在开发者工具中,你可以查看和调试插件弹窗的 HTML、CSS 和 JavaScript 文件
相关推荐
掘金安东尼6 分钟前
⏰前端周刊第 458 期v2026.3.24
前端·javascript·面试
前端付豪19 分钟前
实现必要的流式输出(Streaming)
前端·后端·agent
张元清22 分钟前
useMediaQuery:React 响应式设计完全指南
前端·javascript·面试
小金鱼Y22 分钟前
一文吃透 JavaScript 防抖:从原理到实战,让你的页面不再 “手抖”
前端·javascript·面试
Z兽兽25 分钟前
React 18 开发环境下useEffect 会执行两次,原因分析及解决方案
前端·react.js·前端框架
紫_龙27 分钟前
最新版vue3+TypeScript开发入门到实战教程之Vue3详解props
前端·vue.js·typescript
树上有只程序猿34 分钟前
这波低代码热,能维持多久
前端
姓王名礼39 分钟前
这是一个完整的全栈交付包,包含Vue3 前端交互界面(集成数字人视频流、ECharts 图表、语音对话)和Docker Compose 一键部署脚本。
前端·docker·echarts
嵌入式-老费43 分钟前
vivado hls的应用(axis接口)
前端·webpack·node.js
孟陬1 小时前
国外技术周刊第 2 期 — 本周热门 🔥 YouTube 视频 TED 演讲 AI 如何能够拯救(而非摧毁)教育
前端·后端·程序员