توضیحات
از chrome.alarms
API برای برنامهریزی کد برای اجرای دورهای یا در زمان مشخصی در آینده استفاده کنید.
مجوزها
alarms
آشکار
برای استفاده از chrome.alarms
API، مجوز "alarms"
در مانیفست اعلام کنید:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
نمونه ها
مثال های زیر نحوه استفاده و پاسخ به زنگ هشدار را نشان می دهد. برای امتحان این API، مثال Alarm API را از مخزن chrome-extension-samples نصب کنید.
یک زنگ هشدار تنظیم کنید
مثال زیر هنگام نصب برنامه افزودنی، زنگ هشدار را در سرویسکار تنظیم میکند:
service-worker.js:
chrome.runtime.onInstalled.addListener(async ({ reason }) => {
if (reason !== 'install') {
return;
}
// Create an alarm so we have something to look at in the demo
await chrome.alarms.create('demo-default-alarm', {
delayInMinutes: 1,
periodInMinutes: 1
});
});
به زنگ هشدار پاسخ دهید
مثال زیر نماد نوار ابزار عمل را بر اساس نام زنگ هشدار تنظیم می کند.
service-worker.js:
chrome.alarms.onAlarm.addListener((alarm) => {
chrome.action.setIcon({
path: getIconPath(alarm.name),
});
});
انواع
Alarm
خواص
- نام
رشته
نام این زنگ هشدار
- دوره در دقیقه
شماره اختیاری
اگر تهی نباشد، زنگ هشدار یک زنگ تکراری است و در
periodInMinutes
دقیقه دوباره فعال می شود. - زمان برنامه ریزی شده
شماره
زمانی که این زنگ هشدار برنامه ریزی شده بود، در میلی ثانیه گذشته از دوره (به عنوان مثال
Date.now() + n
). به دلایل عملکرد، ممکن است هشدار مقدار دلخواه بیشتر از این به تاخیر افتاده باشد.
AlarmCreateInfo
خواص
- تاخیر در دقیقه
شماره اختیاری
مدت زمانی در دقیقه که پس از آن رویداد
onAlarm
باید فعال شود. - دوره در دقیقه
شماره اختیاری
در صورت تنظیم، رویداد onAlarm باید هر
periodInMinutes
دقیقه بعد از رویداد اولیه مشخص شده توسطwhen
یاdelayInMinutes
فعال شود. اگر تنظیم نشود، زنگ هشدار فقط یک بار فعال می شود. - چه زمانی
شماره اختیاری
زمانی که در آن زنگ هشدار باید به صدا درآید، در میلی ثانیه گذشته از دوره (مثلاً
Date.now() + n
).
روش ها
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
)
زنگ هشدار را با نام مشخص شده پاک می کند.
پارامترها
- نام
رشته اختیاری
نام زنگ هشدار برای پاک کردن. پیشفرض رشته خالی است.
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(wasCleared: boolean) => void
- پاک شد
بولی
برمی گرداند
وعده<boolean>
Chrome 91+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
clearAll()
chrome.alarms.clearAll(
callback?: function,
)
همه آلارم ها را پاک می کند.
پارامترها
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(wasCleared: boolean) => void
- پاک شد
بولی
برمی گرداند
وعده<boolean>
Chrome 91+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
)
زنگ هشدار ایجاد می کند. نزدیک به زمان(های) مشخص شده توسط alarmInfo
، رویداد onAlarm
فعال می شود. اگر زنگ دیگری با همین نام وجود داشته باشد (یا بدون نام اگر مشخص نشده باشد)، لغو می شود و با این زنگ جایگزین می شود.
برای کاهش بار روی دستگاه کاربر، Chrome آلارمها را حداکثر در هر 30 ثانیه یک بار محدود میکند اما ممکن است مقدار دلخواه بیشتری را به تأخیر بیندازد. یعنی تنظیم delayInMinutes
یا periodInMinutes
روی کمتر از 0.5
رعایت نمی شود و باعث اخطار می شود. when
می توان بدون هشدار روی کمتر از 30 ثانیه بعد از "اکنون" تنظیم کرد، اما در واقع باعث نمی شود که زنگ هشدار حداقل برای 30 ثانیه روشن شود.
برای کمک به اشکالزدایی برنامه یا برنامه افزودنی خود، وقتی آن را بدون بستهبندی بارگیری میکنید، محدودیتی در تعداد دفعات پخش زنگ هشدار وجود ندارد.
پارامترها
- نام
رشته اختیاری
نام اختیاری برای شناسایی این زنگ. پیشفرض رشته خالی است.
- اطلاعات هشدار
زمانی که زنگ هشدار باید روشن شود را توضیح می دهد. زمان اولیه باید با
when
یاdelayInMinutes
(اما نه هر دو) مشخص شود. اگرperiodInMinutes
تنظیم شده باشد، زنگ هشدار هرperiodInMinutes
دقیقه بعد از رویداد اولیه تکرار می شود. اگرwhen
یاdelayInMinutes
برای زنگ تکراری تنظیم نشده باشد،periodInMinutes
به عنوان پیشفرض برایdelayInMinutes
استفاده میشود. - پاسخ به تماس
عملکرد اختیاری
Chrome 111+پارامتر
callback
به نظر می رسد:() => void
برمی گرداند
قول<باطل>
Chrome 111+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
get()
chrome.alarms.get(
name?: string,
callback?: function,
)
جزئیات مربوط به آلارم مشخص شده را بازیابی می کند.
پارامترها
برمی گرداند
وعده< زنگ هشدار | تعریف نشده>
Chrome 91+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
getAll()
chrome.alarms.getAll(
callback?: function,
)
آرایه ای از همه آلارم ها را دریافت می کند.
پارامترها
برمی گرداند
وعده< زنگ هشدار []>
Chrome 91+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.