API 문서
개요
이 확장 프로그램의 API 정의는 Tampermonkey 문서를 기반으로 합니다. 시간과 노력의 제약으로 현재 일부 API만 구현되었으며 계속 반복될 것입니다. 이 확장 프로 그램이 확장하거나 원래 GM API와 다른 모든 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");
참고: GM_setValue가 undefined로 호출되면 ScriptCat은 undefined를 값으로 저장하는 Tampermonkey/GreaseMonkey와 달리 해당 키를 삭제합니다.
참고: 데이터 작업은 비동기이므로 GM_setValue 또는 GM_deleteValue 직후에 window.close()를 호출하면 데이터가 올바르게 업데이트되지 않을 수 있습니다. 데이터 작업 완료를 보장하려면 await GM.setValue 또는 await GM.deleteValue를 사용하는 것이 좋습니다.
GM_listValues
모든 키를 나열합니다.
declare function GM_listValues(): string[];
console.log(GM_listValues());
GM_setValues / GM_getValues / GM_deleteValues *
일괄 가져오기/설정 API (확장 프로그램).
// 여러 값을 설정합니다. values는 키가 값 이름이고 값이 값 내용인 객체입니다
declare function GM_setValues(values: { [key: string]: any }): void;
// 여러 값을 가져옵니다. keysOrDefaults가 객체이면 그 값이 기본값으로 사용됩니다
declare function GM_getValues(keysOrDefaults: { [key: string]: any } | string[] | null | undefined): { [key: string]: any };
// 여러 값을 삭제합니다. names는 문자열 배열입니다
declare function GM_deleteValues(names: string[]): void;
// 일괄 설정
GM_setValues({ a: 1, b: 2 });
// 일괄 가져오기 (없으면 기본값 반환)
const { a, b, c = 3 } = GM_getValues({ a: 0, b: 0, c: 3 });
// 일괄 삭제
GM_deleteValues(["a", "b"]);