第八部分 — UI 表面 动作(工具栏)、徽标、弹出窗口

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 保持小巧快速

  • 长时间工作运行于服务工作者

  • 徽标反映真实持久状态(存储)

17.7 参考资料

相关推荐
Asize1 小时前
AI 协作开发新范式:我用 SDD 做了个排版 npm 包
前端·人工智能
kyriewen2 小时前
我把今年流传的前端 AI 面试题整理了一遍——4 类场景题+回答框架(附速查表)
前端·面试·程序员
计算机魔术师3 小时前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马3 小时前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒3 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚3 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲4 小时前
python中的类型标注
前端
计算机魔术师4 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
专业抄代码选手5 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙5 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript