脚本失效需逐项校验:先开启【设置→高级设置→脚本注入】总开关并重启;确保脚本为UTF-8无BOM、纯小写.js格式,存放于/sdcard/MiXiaBrowser/scripts/路径;修正@match为分协议行、@run-at仅用document-end/document-start/context-menu三值;卸载Tampermonkey等第三方插件。

在米侠浏览器中安装的脚本失效了,页面功能按钮不出现、自定义UI消失、控制台却无报错,这不是脚本代码写错了,而是v5.5+版本对注入机制做了硬性重构——开关默认关闭、路径严格限定、匹配规则敏感度提高、DOM执行时机重置,旧版配置全部清空,必须逐项校验才能恢复。
确认脚本注入总开关已开启
点击右上角三个点→【设置】→【高级设置】→【脚本注入】→将“启用脚本注入”切换为开启状态。必须先做这一步。
重启浏览器后,再进入该页面确认开关右侧显示“已启用”,否则后续所有操作全部无效。
验证脚本文件是否符合准入条件
第一步:检查文件扩展名是否为纯小写 .js —— 若是 .JS、.Js 或带空格(如“my script.js”),浏览器会静默忽略,不报错也不显示。
第二步:用文件管理器长按该.js文件→「编辑」→全选粘贴到记事本类纯文本工具中查看:若开头出现乱码或隐藏BOM头(如 EF BB BF 字节),必须另存为UTF-8无BOM格式,否则解析失败。
第三步:确认脚本未被压缩包包裹——米侠不支持直接读取.zip/.rar内嵌的.js,必须解压到目录层级中,且若有 manifest.json,需与.js同级。
将脚本放入浏览器可识别的固定路径
安卓设备上,米侠浏览器仅扫描以下路径中的.js文件:【/sdcard/MiXiaBrowser/scripts/】。其他任何位置(如Download、Documents、根目录)均不会被自动发现。
操作很简单:用文件管理器新建文件夹,路径必须严格为 /sdcard/MiXiaBrowser/scripts/(注意大小写和斜杠方向),然后把你的.js文件复制进去。
若该路径已存在但脚本仍未出现,重启浏览器后进入「设置→高级设置→脚本注入」页,点击右上角「刷新脚本列表」按钮——这一步不能跳过,否则浏览器不会重新扫描磁盘。
修复匹配规则与执行时机
方法一:修正 @match 协议前缀
旧脚本可能写 *://*.example.com/*,但v5.5+需拆分为两行:
https://*.example.com/*
http://*.example.com/*
否则HTTPS跳转后匹配立即失效。
方法二:强制指定 @run-at 值
米侠仅稳定识别三种值:
① @run-at document-end —— 适用于绝大多数操作DOM的脚本,等HTML解析完成后再执行;
② @run-at document-start —— 仅用于劫持 fetch 或重写全局API,误用于DOM操作将100%返回null;
③ @run-at context-menu —— v5.5.4+才稳定可用,仅响应右键触发。
方法三:验证时机是否真正生效
第一步:在脚本开头插入 console.log('run-at:', document.readyState, 'time:', Date.now());
第二步:打开 miaoxia://devtools → Console 标签页,观察输出:若 readyState = 'complete' 且时间戳晚于 DOMContentLoaded,则时机正确;若为 'loading',说明仍卡在 document-start 阶段。
排除第三方插件干扰
打开地址栏输入 chrome://extensions/ → 查看已启用扩展列表 → 若存在“Tampermonkey”“Violentmonkey”或“Greasemonkey”字样,【必须全部禁用并彻底卸载】。这一步不做,后续所有操作都无效。
卸载后重启浏览器,再点击右上角扩展图标,此时应只看到“米侠脚本管理器”一项,且图标为蓝色盾牌样式。
若点击扩展图标后仍弹出“无法加载此页面”或白屏,请立即在空白标签页输入 mixia://script-manager/ 并回车,进入内置协议地址强制刷新脚本沙箱。


















