Tampermonkey 脚本安装后不运行:五步排查清单
脚本明明装上了,页面上却没有任何动静。按出现概率从高到低,五步查完基本能定位。
第一步:确认「装上且启用」
- 管理面板列表里有条目、开关是启用状态;
- 弹出菜单里该脚本显示为「可运行」;
- 不确定就在弹出菜单里关了再开一次(见菜单启停脚本)。
第二步:确认页面在匹配范围内
- 打开脚本编辑器 → Settings 标签,看 Original includes/matches 的原文;
- 对照当前网址逐段核对通配规则(
*匹配到哪、子域有没有覆盖),参照URL 匹配规则; - 快速验证法:图标角标数字有没有变化,见角标数字含义。
第三步:MV3 权限开关(Chrome 新版最高频原因)
Chrome 138+ 上,Tampermonkey 5.3+ 运行用户脚本需要两步授权的第二步:「允许用户脚本」开关或开发者模式。没开这个开关时,脚本一个都不会注入——装多少都没用。完整开关方法见允许用户脚本开关。
第四步:Site Access 与黑名单
- Site Access 被设为「在特定站点上」时,只有列出的站点能被访问,其他页面脚本不跑——管理面板或弹出菜单会警告「运行时主机权限受限」,见Site Access 限制;
- 黑名单命中:目标网址在手动黑名单或远程恶意列表里,脚本被拒注入,见黑名单。
第五步:脚本自身问题
- 脚本标记了「已停用/弃用」状态(来源站脚本页可见);
- 代码语法错误:编辑器里 ESLint 有没有红线,见ESLint 检查;
- 注入时机错位:元素还没出现脚本就跑完了,调整
@run-at,见注入时机; - 存储数据脏了:Storage 标签里看一眼,见存储数据查看。
定位到问题的出口
| 原因层 | 修复页 |
|---|---|
| 浏览器权限层 | 允许用户脚本开关 / Site Access |
| 匹配层 | URL 匹配规则 / 脚本设置页 |
| 脚本代码层 | ESLint 检查 / 注入时机 |
| 环境层 | 数据库被清空(脚本全没了的情况) |
全查完仍无解,开调试日志看扩展侧真实输出,见调试日志。