脚本未执行是因四层通路某层阻断,需按序排查:①开启【脚本注入】并重启浏览器;②确认.js文件为小写扩展名、UTF-8无BOM、独立存放于/scripts/目录;③修正@match规则并显式声明@run-at;④关闭阅读模式与网页增强功能;⑤刷新脚本列表并启用。

米侠浏览器安装脚本后页面无变化、按钮不出现、右键菜单无扩展项、控制台也无任何日志,说明脚本虽已存入系统,但根本未被注入执行——这不是脚本写错了,而是四层通路中某一层被阻断,必须按顺序逐级验证。
确认脚本注入总开关已开启并重启
脚本注入是整个机制的底层通道,未开启则所有后续步骤全部失效。该开关独立于脚本管理器本身,且状态变更必须重启浏览器才生效。
点击米侠浏览器右上角三个点图标 → 进入【设置】→【高级设置】→ 找到【脚本注入】选项 → 确认【启用脚本注入】开关为蓝色开启状态;若为灰色,点击切换。
【此步骤不可跳过:关闭浏览器后再重开,否则新状态不生效】
验证脚本文件是否符合硬性准入条件
米侠浏览器对本地脚本有三项静默拒绝规则:扩展名必须是纯小写 .js、编码必须是UTF-8无BOM、文件必须独立解压存放于指定目录——三者缺一不可,任一不符都不会报错,也不会出现在脚本列表里。
用文件管理器打开 /sdcard/MiXiaBrowser/scripts/ 目录,检查目标文件名是否为 myscript.js(不是 MyScript.JS、myscript.JS 或 “myscript .js”)。
长按该.js文件 → 选择「编辑」→ 全选内容粘贴到记事本类纯文本工具中查看:若开头出现  或乱码,说明存在BOM头,必须另存为UTF-8无BOM格式;VS Code右下角点击编码→“Save with Encoding”→选UTF-8;Notepad++选“编码→转为UTF-8无BOM”。
确认该文件未被压缩包包裹——米侠浏览器不读取.zip/.rar内嵌的.js,必须解压后单独放在 /sdcard/MiXiaBrowser/scripts/ 下,且不能套在子文件夹里。
检查脚本匹配规则与执行时机是否适配当前版本
v5.5+及v6系列重构了匹配逻辑和默认执行时机,旧脚本大概率因 @match 不严谨或 @run-at 缺失而失效。
方法一:修正 @match 规则
打开脚本编辑界面 → 定位到 // ==UserScript== 区域 → 检查 @match 行。若只写 *://*.bilibili.com/*,请拆分为两行:
@match https://*.bilibili.com/*
@match http://*.bilibili.com/*
避免因HTTPS强制跳转导致匹配失败。
方法二:显式声明 @run-at
若脚本操作DOM元素(如添加按钮、修改文字),必须加上 @run-at document-end;若用于劫持 fetch 或重写 XMLHttpRequest,则用 @run-at document-start。
【误将 document-start 用于DOM操作将100%返回null】
方法三:关闭干扰功能
进入【设置】→【阅读模式】→ 关闭「启用阅读模式」;
进入【设置】→【网页增强】→ 关闭「文本重排」和「网页防篡改」——这两项会主动撕碎原始DOM结构,让所有选择器失效。
刷新脚本列表并手动启用
第一步:进入【设置】→【高级设置】→【脚本注入】→ 点击右上角【刷新脚本列表】
第二步:等待3~5秒,观察目标脚本是否重新出现在列表中
第三步:若出现,逐个点击右侧开关启用;若未出现,说明文件路径错误或已被系统清理,需重新复制脚本进 /sdcard/MiXiaBrowser/scripts/ 目录
第四步:启用后,打开目标网页,地址栏输入 miaoxia://devtools → 切换到 Console 标签页,查看是否有 console.log 输出或报错信息


















