مستندات API
نمای کلی
تعاریف API این افزونه بر اساس مستندات تامپرمانکی است. به دلیل محدودیتهای زمان و تلاش، تاکنون فقط بخشی از API پیادهسازی شده است و به تکرار ادامه خواهد داد. هر API که این افزونه گسترش میدهد یا با API اصلی GM تفاوت دارد به طور ویژه در مستندات علامتگذاری شده است (با استفاده از *). برخی 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پشتیبانی میشود، اما ممکن است دقیقاً با تامپرمانکی مطابقت نداشته باشد.
GM_log *
تابع ثبت لاگ. لاگهای یک اسکریپت پسزمینه را میتوان در لاگ اجرای داشبورد مشاهده کرد (روی ستون وضعیت اجرا کلیک کنید). در مقایسه با تامپرمانکی، یک 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");