tampermonkey 中文文档 下载 App

Tampermonkey 权限清单逐条解读:为什么需要这些权限

装扩展时浏览器会列一串权限申请,很多人直接点「接受」。Tampermonkey 的权限官方 FAQ Q304 有逐条说明——看懂它们,才能判断扩展行为是否透明。

官方列出的权限与用途

权限官方给出的用途
notificationsGM_notification 桌面通知、扩展相关通知
tabs找到活动标签页;导航、新建与关闭标签页(GM_openInTab 底层)
idle避免在你打游戏时弹更新通知
webNavigation安装用户脚本、检查 URL 是否命中脚本
webRequest / webRequestBlocking安装用户脚本、URL 匹配检查、为 GM_xmlhttpRequest 修改请求细节
storage存储你的用户脚本
unlimitedStorage脚本与数据可能很大,不受常规配额约束

官方同时说明:部分权限在某些浏览器上是可选授权,用到了才需要你授予——脚本触发下载时的权限弹窗就是典型(见下载函数)。

为什么「能访问所有网站」

装的时候最扎眼的提示是「读取和更改您在所有网站上的数据」。官方 FAQ Q300 的解释:Tampermonkey 不知道你的脚本会声明哪些网址,所以必须具备进入任何页面的能力,才能把脚本注入到匹配处;这与广告拦截类扩展的道理相同。你可以在应用商店的扩展详情里查看「此扩展可以访问」的声明原文。

实际访问范围还受两层约束:Site Access 设置(见Site Access 限制)与黑名单(见黑名单)。

权限、grant、connect 三层的关系

权限是「总闸」,grant 与 connect 是「每个脚本的分闸」——扩展权限给了能力,不代表每个脚本都在用。

权限相关的常见疑问

具体权限清单以官方 FAQ 与应用商店详情页的当前版本为准。