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