第八部分 — 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 参考资料

相关推荐
谢亮_vipxieliang20 分钟前
JavaScript this 指向完全指南:调用位置决定一切
开发语言·javascript·ecmascript
Eiceblue36 分钟前
使用 Python 实现 Excel 行列转置(保留单元格样式)
前端·python·excel
WeiXin_DZbishe38 分钟前
基于Node.js的马拉松赛事管理系统的设计与实现-计算机毕设 附源码【课程设计】90211
java·javascript·vue.js·python·php·课程设计
西西学代码1 小时前
像素和颜色之间的转换(Flutter)
前端·javascript·flutter
茶底世界之下1 小时前
羽毛颜色已经很鲜艳,还要继续加色吗?用 Awaking 试一次减饱和
前端·ios·运营
风早爽太1 小时前
Mac 搭建 Vue 开发环境
前端·vue.js
Lank_M1 小时前
Word图片裁剪转HTML失效,转换器各漏读了哪一层
前端
青烟小生1 小时前
前端架构设计实战:从组件思维到系统思维
前端
时间海8711 小时前
对象键清洗之前,先拦住重名
javascript·后端
Amos_Web2 小时前
Rspack 源码解析(二十):Typed Hook 系统如何靠宏生成
前端·rust·前端框架