Skip to main content
脚本只修改当前配置副本,不会直接修改订阅原文.

生成一个符合 YumeBox 运行时约束的 JavaScript 覆写

执行流程

1

初始化运行时

当前覆写链第一次出现 .js 文件时,初始化 JavaScript 运行时和内置方法.
2

传入配置对象

当前配置转换为 JavaScript 对象,并作为 profile 参数传入.
3

执行 main

脚本可以直接修改 profile,也可以返回新的配置对象.同步返回值和已完成的 Promise 都支持.
4

检查返回值

返回值必须能转换为 JSON 对象.脚本错误、缺少 main 或返回非对象值会停止当前覆写链.
同一条覆写链会复用 JavaScript 运行时,但每个脚本在隔离作用域中执行;上一个脚本的 main、变量和声明不会泄漏到下一个脚本.

main(profile)

最小脚本

最小覆写.js

修改字段

修改字段.js

预期 diff

修改字段 diff.js
// [!code --]// [!code ++] 只用于文档中的差异显示,本身是合法的 JavaScript 注释.

条件修改

按模式修改.js

异步脚本

异步 main.js
Promise 必须最终完成;一直 pending 时会返回 async main(profile) did not settle.

返回值要求

错误示例:
错误的返回值.js
如果 profile.rules 是数组,脚本会失败,而不是把数组当作完整配置继续执行.
最后修改于 2026年8月14日