第八部分 — UI 表面 options 页面模式

18.1 目的

选项是您持久化设置的用户界面。 与弹出窗口不同,它们可以是一个真正的页面,具有导航和帮助文本。

18.2 使用场景 / 避免使用场景

使用场景: 当你需要让用户能够编辑和再次访问的设置时, 或者需要一个帮助文本/隐私说明的地方。

避免使用场景: UI 真正微小且短暂(弹出窗口可能就足够了),或 你需要一个持久化的工具界面(考虑使用侧边栏)。

18.3 options_page vs options_ui (快速映射)

  • options_page: 以普通标签页/页面的形式打开。

  • options_ui: 可嵌入到 chrome://extensions 中(如果 open_in_tab: false)。

如果你不确定:使用 options_page(更简单的心理模型)。

18.4 最小化模式:加载默认设置 + 保存

options.js: CODE_BLOCK_71

18.5 检查列表

  • \] 始终使用默认值加载

  • \] 显示清晰的"已保存"状态

一个最小化的 MV3 安全异步消息处理器(适合作为模板):

javascript 复制代码
chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
  (async () => {
    if (msg?.type !== "PING") return;
    sendResponse({ ok: true });
  })().catch((err) => sendResponse({ ok: false, error: String(err) }));
  return true; // keep channel open for async
});

18.6 常见问题

  • 频繁向 sync 写入(配额限制)

  • 存储密钥(不要)

18.7 参考资料

相关推荐
UI设计兰亭妙微1 小时前
兰亭妙微|B端表单设计:UI设计公司中的场景化布局指南,提升用户填写效率
ui·b端界面设计·高端网站设计
颯沓如流星8 小时前
前端 UI 组件专业术语科普指南
前端·ui
幽络源小助理13 小时前
PS网页版源码_在线Photoshop源码_Nginx免环境部署_支持PSD
nginx·ui·photoshop
AC赳赳老秦14 小时前
OpenClaw与Axure联动:自动生成原型图组件、批量修改原型样式,提升设计效率
python·web安全·ui·音视频·axure·photoshop·openclaw
UI设计兰亭妙微14 小时前
兰亭妙微|UI设计公司视角下的绿色:跨越千年的色彩叙事,从禁忌到希望的蜕变
ui
ZC跨境爬虫15 小时前
跟着 MDN 学 HTML day_64:从 object 到 iframe 的嵌入技术全面解析
开发语言·前端·javascript·ui·html·音视频
ZC跨境爬虫16 小时前
跟着 MDN 学 HTML day_63:(Web 中矢量图形的完整指南)
前端·javascript·数据库·ui·html
ss27318 小时前
uni-ui、uView UI、unibest 三个的区别
ui·view design
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_61:(构建反馈表单的结构化挑战)
前端·javascript·ui·html·音视频