תאריך הרענון: 2026-09-25 robots: noindex
תיאור
אפשר להשתמש ב-chrome.alarms API כדי לתזמן קוד שיפעל מעת לעת או בזמן מסוים בעתיד.
הרשאות
alarmsמניפסט
כדי להשתמש ב-chrome.alarms API, צריך להצהיר על ההרשאה "alarms" במניפסט:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
דוגמאות
בדוגמאות הבאות אפשר לראות איך משתמשים באזעקה ואיך מגיבים לה. כדי לנסות את ה-API הזה, צריך להתקין את הדוגמה ל-Alarm API ממאגר chrome-extension-samples.
Set an alarm
בדוגמה הבאה מוגדרת התראה ב-service worker כשהתוסף מותקן:
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
מספר אופציונלי
אם הערך לא null, השעון המעורר הוא שעון מעורר חוזר והוא יופעל שוב בעוד
periodInMinutesדקות. -
persistAcrossSessions
בוליאני
Chrome 150+האם האזעקה צריכה להישמע גם בסשנים הבאים (הפעלות מחדש של הדפדפן).
-
scheduledTime
number
השעה שבה ההתראה הזו אמורה לפעול, באלפיות השנייה שעברו מאז תקופת האפוקה (לדוגמה,
Date.now() + n). מטעמי ביצועים, יכול להיות שההתראה תופעל באיחור של פרק זמן שרירותי.
AlarmCreateInfo
מאפיינים
-
delayInMinutes
מספר אופציונלי
פרק הזמן בדקות שאחריו צריך להפעיל את האירוע
onAlarm. -
שם
מחרוזת אופציונלי
Chrome 152 ואילךהשם של ההתראה הזו.
-
periodInMinutes
מספר אופציונלי
אם מוגדר, האירוע onAlarm צריך להיות מופעל כל
periodInMinutesדקות אחרי האירוע הראשוני שצוין על ידיwhenאוdelayInMinutes. אם לא מגדירים את האפשרות הזו, השעון המעורר יצלצל רק פעם אחת. -
persistAcrossSessions
boolean אופציונלי
Chrome 150+האם האזעקה צריכה להישמע גם אחרי סגירה והפעלה מחדש של הדפדפן. ב-Chrome, ערך ברירת המחדל של ההגדרה הזו הוא true כדי להתאים להתנהגות היסטורית, אבל מומלץ להגדיר אותה באופן מפורש כדי למקסם את התאימות בין דפדפנים.
-
מתי
מספר אופציונלי
השעה שבה ההתראה אמורה לפעול, באלפיות השנייה אחרי תקופת הזמן של מערכת Unix (למשל
Date.now() + n).
Methods
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
): Promise<boolean>
מחיקת השעון המעורר עם השם שצוין.
פרמטרים
-
שם
מחרוזת אופציונלי
השם של ההתראה שרוצים לבטל. ברירת המחדל היא מחרוזת ריקה.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(wasCleared: boolean) => void
-
wasCleared
בוליאני
-
החזרות
-
Promise<boolean>
Chrome 91 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean>
מחיקת כל השעונים המעוררים.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(wasCleared: boolean) => void
-
wasCleared
בוליאני
-
החזרות
-
Promise<boolean>
Chrome 91 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
): Promise<void>
יוצרת שעון מעורר. בסמוך לזמן או לזמנים שצוינו ב-alarmInfo, מופעל האירוע onAlarm. אם יש אזעקה אחרת עם אותו שם (או ללא שם אם לא צוין שם), היא תבוטל ותוחלף באזעקה הזו.
כדי להפחית את העומס על המחשב של המשתמש, Chrome מגביל את ההתראות לפעם אחת לכל היותר בכל 30 שניות, אבל יכול לעכב אותן למשך זמן ארוך יותר. כלומר, אם תגדירו את delayInMinutes או periodInMinutes כערך שקטן מ-0.5, המערכת לא תכבד את ההגדרה ותציג אזהרה. אפשר להגדיר את when לפחות מ-30 שניות אחרי 'עכשיו' בלי אזהרה, אבל ההתראה לא תופעל בפועל למשך 30 שניות לפחות.
כדי לעזור לכם לנפות באגים באפליקציה או בתוסף, כשאתם טוענים אותם ללא דחיסה, אין הגבלה על התדירות שבה ההתראה יכולה לפעול.
פרמטרים
-
שם
מחרוזת אופציונלי
שם אופציונלי לזיהוי ההתראה. ברירת המחדל היא מחרוזת ריקה.
-
alarmInfo
מתאר מתי השעון המעורר יצלצל. צריך לציין את השעה הראשונית באמצעות
whenאוdelayInMinutes(אבל לא את שניהם). אם מוגדרperiodInMinutes, ההתראה תחזור על עצמה כלperiodInMinutesדקות אחרי האירוע הראשוני. אם לא מוגדריםwhenאוdelayInMinutesעבור אזעקה חוזרת,periodInMinutesמשמש כברירת המחדל עבורdelayInMinutes. -
callback
פונקציה אופציונלית
Chrome 111 ואילךהפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 111 ואילךאובייקט Promise שמוחזר כשההתראה נוצרת.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
get()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
אחזור פרטים על ההתראה שצוינה.
פרמטרים
-
שם
מחרוזת אופציונלי
שם ההתראה שרוצים לאחזר. ברירת המחדל היא מחרוזת ריקה.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(alarm?: Alarm) => void
-
שעון מעורר
שעון מעורר אופציונלי
-
החזרות
-
Promise<Alarm | undefined>
Chrome 91 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
מחזירה מערך של כל ההתראות.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(alarms: Alarm[]) => void
-
התראות
-
החזרות
-
Promise<Alarm[]>
Chrome 91 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.