Документація API
Огляд
Визначення API цього розширення базуються на документації Tampermonkey. Через обмеження часу та зусиль наразі реалізовано лише частину API, і воно продовжуватиме розвиватися. Будь-який API, який це розширення розширює або який відрізняється від оригінального GM API, спеціально позначений у документації (за допомогою *). Деякі API також надають синхронний аналог за правилом GM.* — дивіться вміст документації для деталей.
Для детальних визначень API дивіться scriptcat.d.ts або вбудовані підказки редактора, оскільки документація може не завжди бути актуальною. Для API, специфічних для цього розширення, дивіться Документацію CatApi.
Ви також можете знайти відповідні приклади в каталозі прикладів.
Визначення
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підтримується, але може не точно збігатися з Tampermonkey.
GM_log *
Функція журналювання. Журнали фонового скрипта можна переглядати в журналі запуску панелі керування (натисніть стовпець статусу запуску). Порівняно з Tampermonkey додано level журналу.
declare function GM_log(message: string, level?: GMTypes.LoggerLevel): void;
declare namespace GMTypes {
type LoggerLevel = "debug" | "info" | "warn" | "error";
}
GM_log("debug info", "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");