API 文档
说明
本扩展 API 定义参考 Tampermonkey 文档,由于时间和精力问题,只实现了部分 API,后续将继续迭代。本扩展进行扩充或者与原 GM 不同的 API 将在文档中特殊标注(使用 * 号)。对于某些 API 还提供了同步函数,同步函数规则:GM.*,具体请看文档内容。
API 的详细定义,请看 scriptcat.d.ts 或者内置编辑器提示,文档更新可能不会及时。对于本扩展特有的 API,请看 CatApi 文档。
另外可以在 example 查看相关示例。
定义
GM_info
获取脚本相关信息,包括元数据和运行环境参数。常用字段有 scriptHandler、version、scriptMetaStr、scriptUpdateURL、downloadMode 等。详细定义请参考 scriptcat.d.ts(并不完全)。
console.log(GM_info.scriptHandler);
console.log(GM_info.version);
console.log(GM_info.scriptMetaStr);
sandboxMode目前只有raw值。runAt未支持。userAgentData支持但不一定和TM一致。
GM_log *
日志函数,后台脚本的日志将在控制面板的运行日志中看到(点击运行状态栏)。相比于 TM 增加了一个日志的 level。
declare function GM_log(message: string, level?: GMTypes.LoggerLevel): void;
declare namespace GMTypes {
type LoggerLevel = "debug" | "info" | "warn" | "error";
}
GM_log("调试信息", "debug");
GM_get/set/deleteValue
从储存中获取或者设置值,数据在同一 storageName 中可以共享,且可以实时的同步。
// 添加数据,请注意数据只能为 bool;string;number;object 四种类型,不能存储对象实例
declare function GM_setValue(name: string, value: any): void;
// 获取数据
declare function GM_getValue(name: string, defaultValue?: any): any | undefined;
// 删除数据,再获取会返回 undefined 或 defaultValue
declare function GM_deleteValue(name: string): void;
GM_setValue("foo", 42);
const v = GM_getValue("foo", 0);
GM_deleteValue("foo");