17.1 目的
chrome.action 是主要的 MV3 UI 入口点。 它允许您:
-
显示一个工具栏图标
-
设置一个弹出窗口
-
根据状态更新徽标的文本/颜色
17.2 使用场景 / 避免场景
使用场景: 当你需要一个快速用户触发的入口时。
避免场景: 当你需要一个长时间运行的工作流。 弹出窗口关闭迅速;将长期工作推到服务工作者。
17.3 最简:在状态变化时设置徽标
权限:
- storage
服务工作者: CODE_BLOCK_68
17.4 弹出窗口 vs 无弹出窗口
-
带弹出窗口:适用于小型UI和快速设置。
-
无弹出窗口:点击图标会触发 chrome.action.onClicked。
服务工作者: CODE_BLOCK_69
最小示例
一个最小的 MV3 安全异步消息处理器(适合作为模板使用): CODE_BLOCK_70
17.5 常见问题
-
在弹出窗口内进行重要工作(弹窗关闭)。
-
忘记在状态更改后更新徽章。
-
在每个上下文中依赖 storage.onChanged(建议从服务工作者中更新状态)。
17.6 检查清单
-
\] 弹出窗口 UI 保持小巧快速
-
\] 徽标反映真实持久状态(存储)
-
action: chrome.action