返回知识库

浏览器插件 · 权限与发布

扩展权限Extension Permissions

扩展权限都在 manifest 里声明,有些会在安装时变成警告。要得越多,警告越吓人、审核越严;按功能只要刚好够的权限,能用 activeTab 就别要所有网站。

把安装警告减到零,功能一个都不坏

AI 给划词收藏勾了 4 个权限,安装时弹出最吓人的那条警告,还有一条藏在它后面。勾掉或换掉权限,看安装弹窗、功能状态和审核难度怎么变;目标是三个功能都能用、弹窗里没有警告。

manifest.json · permissionsAI 初稿勾了 4 项
  • 无警告
  • 无警告
  • 无警告
  • 被所有网站盖住
  • 强警告
  • 强警告
要添加「划词收藏」吗?

它可以:

  • ⚠ 读取和更改您在所有网站上的数据

审核:宽权限,需逐条说明理由,可能更久

✓ 收藏存在本地✓ 点图标收藏当前页✓ 右键菜单「收藏选中文字」

功能都正常,但安装时还有 1 条警告。下一步:找出哪个功能其实用不到这些权限,把它们去掉。

知识点:权限就是安装弹窗上的字

刚才弹窗里每多一行,都对应你勾上的一个权限。

  • 每个权限都写在 manifest 里,有些权限会在安装时变成一句警告。
  • 主机权限(例如所有网站 <all_urls>)警告最吓人,也最容易让用户放弃安装。
  • activeTab 只在用户点图标时临时拿到当前页,不触发警告,常常能替代所有网站权限。
  • 少一个必要权限,对应功能就坏;多一个不必要的权限,只多了警告和审核风险。
  • 宽权限的警告会盖住窄权限的警告:删掉所有网站后,原本藏着的「读取浏览记录」才会冒出来。
  • 发布后再新增会触发警告的权限,扩展会先被停用,等用户重新同意。

什么时候检查权限、怎么检查

AI 为了「保险」最爱多要权限,你要做的是一项项问理由。

  • 检查时机:AI 第一次交付、每次加新功能、提交商店之前。
  • 真的需要宽权限的情况:扩展必须在用户没点图标时自动作用于很多网站(例如广告拦截)。
  1. 让 AI 列一张表:每个权限 → 用在哪个功能 → 安装时有没有警告。
  2. 没有对应功能的,删。
  3. 只在用户点击时才处理当前页的,用 activeTab 换掉 <all_urls>。
  4. 本地加载后,删掉扩展重新加载一次,确认安装提示和你预期的一样。

正反例:同一个划词收藏

功能完全相同,只差权限清单。

正例storage + activeTab + contextMenus

安装没有警告,用户放心点「添加」;审核也只需要简单说明。

反例再加上 <all_urls> 和 tabs

弹窗说它能读取和更改你在所有网站上的数据、读取浏览记录。很多人看到这里就点了取消。

快速自测

扩展只在用户点工具栏图标时,把当前网页的标题保存下来。AI 申请了 <all_urls>。你该怎么改?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。