Repository navigation
[Feature] 更多后台/定时脚本API #1034
Description
Activity
虽然我没时间提PR
但我还是认为背景脚本应该是 event driven
不是定义@crontab
而是CAT_onEvent({event: "CRONTAB 5 4 * * *", callback: ....})这样的方式
然后里面可以再定义其他东西,取消CAT_onEvent等等CAT_onEvent({event: "crontab", crontab: "5 4 * * *", callback: ...., id: "handleId1"});
CAT_offEvent("handleId1");CAT_onEvent({event: "valueChange" , key: "key123", callback: ...., id: "handleId2"});
....虽然我没时间提PR
但我还是认为背景脚本应该是 event driven
不是定义@crontab
而是CAT_onEvent({event: "CRONTAB 5 4 * * *", callback: ....})这样的方式
然后里面可以再定义其他东西,取消CAT_onEvent等等CAT_onEvent({event: "crontab", crontab: "5 4 * * *", callback: ...., id: "handleId1"});
CAT_offEvent("handleId1");CAT_onEvent({event: "valueChange" , key: "key123", callback: ...., id: "handleId2"});
....可以增加类似的API,其实就是后台脚本 @background 自己管理定时任务,自己引用一个库都可以,现在的定时脚本确实不够灵活 等后续再计划一下吧
- addedbugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or request
on Apr 23, 2026 下次分开两个 issue 开吧。前者是bug 后者是 feature
前者:一直都没看到。刚发PR了
后者:以前的做法暂时不动了。今年应该都不会有什么变化
使后台/定时脚本支持
@run-in目前后台/定时脚本不支持
@run-in,当浏览器同时打开正常标签页和隐身模式标签页时,如果恰好触发定时脚本,脚本猫会在两种模式下各运行一次,可能引发各种意料之外的问题。而现在用户/开发者既无法为后台/定时脚本指定
@run-in,也无法通过GM_info.isIncognito判断是否处于隐身模式。更灵活的
@crontab、 使定时脚本支持禁用本脚本目前定时脚本
@crontab不太灵活,只能静态定义一个@crontab,无法满足某些应用场景可以尝试增加动态
@crontab(比如一个精确时间2025/11/29 19:12:34),让脚本根据不同情况决定下一次运行时间而不是机械的、静态的下一次运行时间。甚至如果脚本完成了任务不需要继续定时执行了,可以让定时脚本禁用自己(也就是没有下一次运行时间)