脚本只修改当前配置副本,不会直接修改订阅原文.
生成一个符合 YumeBox 运行时约束的 JavaScript 覆写
执行流程
1
初始化运行时
当前覆写链第一次出现
.js 文件时,初始化 JavaScript 运行时和内置方法.2
传入配置对象
当前配置转换为 JavaScript 对象,并作为
profile 参数传入.3
执行 main
脚本可以直接修改
profile,也可以返回新的配置对象.同步返回值和已完成的 Promise 都支持.4
检查返回值
返回值必须能转换为 JSON 对象.脚本错误、缺少
main 或返回非对象值会停止当前覆写链.main、变量和声明不会泄漏到下一个脚本.
main(profile)
最小脚本
最小覆写.js
修改字段
修改字段.js
预期 diff
修改字段 diff.js
// [!code --] 和 // [!code ++] 只用于文档中的差异显示,本身是合法的 JavaScript 注释.
条件修改
按模式修改.js
异步脚本
异步 main.js
async main(profile) did not settle.
返回值要求
错误示例:
错误的返回值.js
profile.rules 是数组,脚本会失败,而不是把数组当作完整配置继续执行.