Chrome 扩展程序 MV3 架构组件概览 Chrome 扩展程序的核心组成部分与上下文类型界面类型生命周期上下文与作用域Popup扩展弹窗点击扩展工具栏图标时创建渲染失去焦点、点击外部区域、切换标签 / 关闭窗口时自动销毁JS 环境完全终止运行状态不持久独立 HTML 页面属于扩展页面上下文拥有独立 DOM 与 JS 执行环境可直接调用绝大多数 Chrome 扩展 API需通过消息与 Service Worker 通信Options Page选项页打开选项页时创建对应标签页关闭时销毁。支持两种形态内嵌到扩展管理页、独立标签页打开独立 HTML 页面属于扩展页面上下文API 权限与 Popup 一致专门用于扩展配置与设置持久化Side Panel侧边栏面板用户唤起侧边栏时创建实例关闭侧边栏、切换到不匹配标签页时销毁。支持「全局共用」和「按标签页独立实例」两种模式独立 HTML 页面属于扩展页面上下文常驻浏览器侧边栏可与当前页 Content Script 联动API 权限与 Popup 一致Chrome URL Override原生页面覆盖对应系统页面打开时创建标签页关闭时销毁。可覆盖三类原生页面newtab新标签页、bookmarks书签页、history历史页独立 HTML 页面属于扩展页面上下文通过 manifest 配置替换浏览器内置页面API 权限同普通扩展页面Content Script 注入 UI随宿主页面加载注入时机由 run_at 控制随宿主页面关闭 / 刷新销毁运行在隔离世界Isolated World挂载于宿主页面 DOM 内可读写 DOM 但与页面原生 JS 完全隔离无法直接访问页面 window仅能访问少量 Chrome APIruntime、storage、i18n 等高级能力需与 Service Worker 通信Service Worker后台服务工作者事件驱动模型扩展安装、事件触发时唤醒空闲约 30 秒无事件则自动休眠终止无持久运行状态全局变量不可靠持久化必须依赖 storage扩展全局后台上下文无 DOM 环境是扩展的逻辑中枢可调用全部 Chrome 扩展 APIMV3 强制要求替代了 MV2 的 Background PageDevTools Panel开发者工具面板打开 DevTools 并切换到对应 Tab 时创建关闭 DevTools 或切换标签页时销毁每个标签页对应独立实例独立 HTML 页面运行在DevTools 专属上下文可调用 chrome.devtools.* 系列 API需通过消息桥接与页面、后台通信Extension Window扩展独立窗口通过 chrome.windows.create 创建时生成用户关闭窗口时销毁。支持弹窗、常驻面板、全屏等多种窗口类型独立 HTML 页面属于扩展页面上下文脱离标签栏独立存在常用于悬浮工具、独立应用窗口场景Omnibox地址栏关键字输入扩展注册关键字后激活会话回车执行、失焦或清空输入后会话结束。本身无独立页面无自定义 UI下拉建议由地址栏原生渲染全部逻辑运行在Service Worker 后台上下文Context Menu右键菜单后台注册后持久生效右键对应区域时浏览器渲染原生菜单点击菜单项触发后台事件菜单随右键消失而关闭浏览器原生 UI无自定义渲染逻辑处理在Service Worker 后台上下文可配置作用于页面、选中文本、图片、链接等场景Command快捷键命令扩展安装后全局注册生效按下快捷键时触发后台事件全程无 UI 展示无 UI事件监听在Service Worker 后台上下文支持浏览器内快捷键与全局系统快捷键两种范围Badge图标角标API 设置后持续生效主动修改 / 清除或扩展卸载时消失与扩展工具栏图标共存纯 UI 装饰渲染在扩展工具栏图标上由 Service Worker 或扩展页面调用 API 控制无独立执行逻辑Notification系统通知调用 API 后弹出系统气泡展示数秒后自动消失也可被用户点击 / 手动关闭销毁操作系统级原生 UI由 Service Worker 或扩展页面触发点击事件回调至后台上下文处理