油猴脚本(tampermonkey)已启用但不运行,是很多用户在使用浏览器插件时常见的问题。虽然脚本状态显示“已启用”,但实际页面中毫无反应。这种情况可能由多种原因造成,下面从常见原因出发,逐一分析并提供实用解决方案。
1. 脚本匹配的网址不正确
油猴脚本通过@match或@include规则来判断是否在当前页面运行。如果规则设置错误,脚本就不会触发。
- 检查脚本的元数据块(// ==UserScript==部分),确认@match是否覆盖你正在访问的网址。
- 注意协议(http vs https)、子域名(www vs api)和路径是否完全匹配。
- 可临时添加@match *://*/*进行测试(仅调试用,存在安全风险)。
2. 页面加载时机问题
有些脚本依赖页面元素或特定JS对象,若执行过早,目标尚未加载,脚本会失效。
- 查看脚本中@run-at设置,建议尝试改为document-idle或document-end。
- 在代码中加入setTimeout或使用MutationObserver延迟执行关键逻辑。
- 对于单页应用(如React、Vue),需监听路由变化或DOM更新。
3. 浏览器或插件冲突
其他扩展或浏览器设置可能阻止油猴脚本正常运行。
- 暂时禁用广告拦截器(如uBlock Origin)、隐私保护类插件,测试是否恢复。
- 进入油猴插件设置,确保“在隐身模式下启用”与当前浏览模式一致(如需在无痕窗口运行)。
- 尝试更换浏览器(推荐Chrome或Edge最新版),排除兼容性问题。
4. 脚本本身存在错误或未更新
脚本代码报错或网站结构变更都可能导致失效。
- 打开浏览器开发者工具(F12),切换到Console面板,查看是否有红色错误信息。
- 在油猴仪表盘中点击脚本,选择“编辑”,检查语法是否高亮异常。
- 前往脚本原始发布页(如Greasy Fork),查看是否有新版或他人反馈类似问题。
- 尝试重新安装脚本,清除旧配置。
5. 内容安全策略(CSP)限制
部分网站设置了严格的安全策略,禁止注入脚本。
- 这种情况下,油猴无法绕过CSP,脚本将被浏览器直接阻止。
- 可尝试使用本地代理修改响应头,或改用Userscripts+Native方式(高级用户)。
- 普通用户建议关注脚本作者是否提供适配方案。
基本上就这些。排查时建议从网址匹配和控制台错误入手,多数问题能快速定位。保持油猴插件和脚本更新,也能减少兼容性困扰。











