米侠浏览器js脚本失效需按顺序排查五环节:①开启脚本注入总开关并重启验证;②检查@match规则是否精准匹配url;③关闭阅读模式与文本重排后强制刷新;④切换x5/系统内核+桌面/iphone ua组合测试;⑤用console.log验证@run-at时机是否为document-end。

米侠浏览器安装的JS脚本在部分网页中无法自动生效,常见于脚本注入总开关未开启、匹配规则与当前URL不一致、DOM执行时机错误、阅读模式撕毁原始结构、内核与UA组合导致页面HTML被降级等环节,必须按现象逐项验证,不能只改一个地方就认为问题已解。
确认脚本注入总开关是否真正启用
点击右上角三个点→【设置】→【高级设置】→【脚本注入】→将“启用脚本注入”切换为开启状态。【必须先做这一步】重启浏览器后,再进入该页面确认开关右侧显示“已启用”,否则后续所有操作全部无效。
检查脚本匹配规则是否精准命中当前页面
方法一:打开暴力猴面板→找到目标脚本→点击「编辑」→定位到元数据块(// ==UserScript== 和 ==/UserScript== 之间)→确认存在 @match 行且值与当前网页URL完全匹配。
例如页面地址是 https://www.bilibili.com/video/BV1xg4y1c7XZ,而脚本写的是 @match https://bilibili.com/*,就会因子域名 www 不匹配而静默失效;正确写法应为 @match https://www.bilibili.com/* 或 @match *://*/*.bilibili.com/*。
方法二:若脚本需适配多个子域或协议,用通配符组合更稳妥,比如 @match *://*.zhihu.com/* @match *://zhihu.com/*,避免漏掉 http 或 www 变体。
强制关闭阅读模式与文本重排
在任意网页点右下角三个点→【设置】→【网页浏览设置】→关闭【自动重排文本】和【阅读模式】。
关闭后必须点击地址栏右侧刷新按钮强制重载,仅切换开关不刷新等于没关。这两项功能会主动重构页面DOM结构,把原始HTML撕碎重排,油猴脚本依赖的元素选择器全部失效。
切换内核+UA组合以获取完整DOM加载环境
第一步:进入【设置】→【高级设置】→【内核与UA设置】
第二步:先将内核切换为【X5内核】,UA同步设为【桌面版】→重启浏览器→测试脚本
第三步:若失败,再切回【系统内核】+【iPhone UA】→重启→重试
X5内核对国内网站适配好但会屏蔽部分现代API,系统内核更接近Chrome行为但默认UA可能被识别为低端安卓设备导致服务器返回阉割版HTML——两种组合必须都试,不能只试一种。某些金融类或视频平台网页在X5内核下会彻底禁用脚本注入,此时必须用系统内核+iPhone UA才能触发完整DOM加载,脚本才有执行基础。
验证脚本执行时机是否真正生效
① 在脚本开头插入调试语句:console.log('run-at:', document.readyState, 'time:', Date.now());,保存后刷新目标网页。
② 打开开发者工具(地址栏输入 miaoxia://devtools),切换到 Console 标签页,观察输出:
若看到 document-end 对应 readyState = 'complete' 且时间戳晚于页面DOMContentLoaded事件,则时机正确;若 readyState = 'loading' 或时间戳早于首屏渲染,则仍处于 document-start 阶段,需检查参数拼写是否全小写、有无空格、是否被BOM头截断。
③ 米侠仅稳定识别 @run-at document-end、document-start、context-menu 三种值,其他如 document-idle 或 document-ready 均不生效。











