必须显式控制脚本注入与运行次序:先开启脚本注入总开关,再用数字或字母+数字前缀命名文件强制排序,辅以强制前置注入、requestidlecallback延时、执行标记防重复及禁用reload确保顺序准确。

你想让米侠浏览器里多个脚本按特定顺序执行,比如先拦截广告、再填充表单、最后自动点击提交,但当前它们总在随机时机触发,导致表单还没加载完就去点按钮,操作直接失败——必须显式控制脚本的注入与运行次序,否则依赖关系会彻底错乱。
确认脚本注入总开关已开启
点击右上角三个点图标 → 进入【设置】→ 【高级设置】→ 找到【脚本注入】选项 → 将开关设为开启状态。【若该选项缺失,说明当前版本低于 v5.5.4.2,必须前往官网下载“脚本版”安装包重装】。关闭浏览器再重新打开,确保设置生效。
通过文件名前缀强制排序
方法一:数字前缀命名法
将脚本文件重命名为带两位数字前缀的格式,例如 01_adblock.user.js、02_formfill.user.js、03_submit.user.js。米侠浏览器扫描 scripts/ 目录时严格按 ASCII 码顺序读取,01 一定早于 02,不会因保存时间或注册顺序干扰。
方法二:字母+数字混合前缀(兼容性更强)
当存在大量脚本时,纯数字可能撞号。改用 a01_、b02_、c03_ 前缀,既保持可读性,又确保排序稳定。注意:下划线 _ 的 ASCII 值(95)小于字母(a=97),所以 a01_ 仍排在 a01 后面,务必统一用下划线分隔。
⚠️注意:文件扩展名必须是小写 .user.js,若为 .USER.JS 或 .user.js.txt,米侠会直接跳过,不报错也不提示。
启用“强制前置注入”提升单个脚本权重
打开暴力猴面板 → 找到目标脚本(如“自动登录”)→ 点击「编辑」→ 左上角菜单 → 「高级设置」→ 开启【强制前置注入】开关。
该选项会将当前脚本插入注入队列最前端,无视文件名与注册顺序。
但要注意:若同时对两个以上脚本启用此功能,V5.8 不会报错,而是按后台保存时间倒序执行——最后保存的脚本反而最先运行。因此建议仅对最关键的脚本(如劫持 fetch 的广告拦截器)启用,其余靠文件名排序。
调整脚本内部执行节奏以微调顺序
第一步:替换 setTimeout 延迟逻辑
将原代码中所有 setTimeout(() => { action(); }, 200) 替换为 requestIdleCallback(() => { action(); }, { timeout: 500 })。前者在固定毫秒后强行执行,后者等待浏览器空闲帧,能避开 DOM 渲染高峰,避免被后续更快的页面 JS 覆盖。
第二步:添加执行标记防干扰
在关键操作前插入判断:if (window.__MIXIA_SCRIPT_EXECUTED) return; window.__MIXIA_SCRIPT_EXECUTED = true;。这能防止同域名下多个相似脚本重复触发同一动作,比如两个“自动点击”脚本同时运行,第二个会直接退出。
第三步:禁用 location.reload()
脚本中所有 location.reload() 必须删除。V5.8 在 reload 后不会恢复原脚本的注入顺序状态,二次加载时该脚本可能降权至队列末尾,导致原本前置的逻辑变成最后执行。











