「运行时主机权限受限」警告:Site Access 设置的修复
管理面板或弹出菜单里出现这样一行警告:
Limited runtime host permissions might break some Tampermonkey features like script update, GM_xmlhttpRequest and others!
(运行时主机权限受限,可能破坏脚本更新、GM_xmlhttpRequest 等功能。)
官方 FAQ Q306 对此有专门解释。
警告的含义
Tampermonkey 没有获得对全部网站的访问权——它的 host permissions(主机权限)被收窄了。收窄的直接原因几乎只有一个:
- 浏览器扩展详情页里,Site Access(站点访问权限)被设成了「On specific sites(在特定站点上)」。
此时 Tampermonkey(连同你的用户脚本)只能访问列表里的站点,于是连锁反应:
- 不在列表里的页面脚本不注入;
- 脚本的自动更新失效(更新源不可达);
GM_xmlhttpRequest向其他主机的请求失效。
修复步骤
- 打开扩展管理页,找到 Tampermonkey → 详情;
- 找到 Site Access(站点访问权限)设置;
- 从「On specific sites」改回 「On all sites(在所有网站上)」;
- 刷新页面,警告消失,功能恢复。
如果出于安全考虑只想放行部分站点,就把常用站点逐个加进「On specific sites」的列表——代价是列表外的页面一切脚本功能不可用,出现怪问题时先想到这层。
与其他限制的区分
| 现象 | 限制层 | 出口 |
|---|---|---|
| 主机权限受限警告 | Site Access 设置 | 本页 |
| 脚本完全不注入 | 「允许用户脚本」开关 | 允许用户脚本开关 |
| 特定页面不跑、其他页面正常 | 匹配规则 | URL 匹配规则 |
| 黑名单页面被拒 | 黑名单 | 黑名单 |
三层权限各管一段:Site Access 管「扩展能访问哪些站点」,用户脚本开关管「能不能注入脚本」,黑名单管「哪些页面禁止脚本」。按警告文案对号入座,别串门。