refresh date: 2026-09-25 robots: noindex
Beschreibung
Mit der chrome.alarms API können Sie Code so planen, dass er regelmäßig oder zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt wird.
Berechtigungen
alarmsManifest
Wenn Sie die chrome.alarms API verwenden möchten, deklarieren Sie die Berechtigung "alarms" im Manifest:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
Beispiele
Die folgenden Beispiele zeigen, wie du einen Wecker verwendest und darauf reagierst. Wenn Sie diese API ausprobieren möchten, installieren Sie das Alarm API-Beispiel aus dem Repository chrome-extension-samples.
Wecker stellen
Im folgenden Beispiel wird ein Alarm im Service Worker festgelegt, wenn die Erweiterung installiert wird:
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
});
});
Auf einen Alarm reagieren
Im folgenden Beispiel wird das Symbol für die Aktionssymbolleiste basierend auf dem Namen des ausgelösten Weckers festgelegt.
service-worker.js:
chrome.alarms.onAlarm.addListener((alarm) => {
chrome.action.setIcon({
path: getIconPath(alarm.name),
});
});
Typen
Alarm
Attribute
-
name
String
Name dieses Alarms.
-
periodInMinutes
number optional
Wenn der Wert nicht null ist, handelt es sich um einen wiederkehrenden Wecker, der in
periodInMinutesMinuten wieder klingelt. -
persistAcrossSessions
boolean
Chrome 150+Gibt an, ob der Alarm über Sitzungen (Browserneustarts) hinweg beibehalten werden soll.
-
scheduledTime
Zahl
Zeit, zu der dieser Alarm ausgelöst werden sollte, in Millisekunden nach der Epoche (z.B.
Date.now() + n). Aus Leistungsgründen kann der Alarm um einen beliebigen Zeitraum verzögert worden sein.
AlarmCreateInfo
Attribute
-
delayInMinutes
number optional
Zeitspanne in Minuten, nach der das
onAlarm-Ereignis ausgelöst werden soll. -
name
String optional
Chrome 152 oder höherName dieses Alarms.
-
periodInMinutes
number optional
Wenn festgelegt, sollte das onAlarm-Ereignis alle
periodInMinutesMinuten nach dem ersten Ereignis ausgelöst werden, das durchwhenoderdelayInMinutesangegeben wurde. Wenn Sie diese Option nicht festlegen, wird der Alarm nur einmal ausgelöst. -
persistAcrossSessions
Boolesch optional
Chrome 150+Gibt an, ob der Alarm über Sitzungen (Browserneustarts) hinweg beibehalten werden soll. In Chrome ist dies standardmäßig auf „true“ gesetzt, um dem bisherigen Verhalten zu entsprechen. Sie sollten dies jedoch explizit festlegen, um die Kompatibilität zwischen Browsern zu maximieren.
-
wann
number optional
Zeit, zu der der Alarm ausgelöst werden soll, in Millisekunden seit der Epoche (z.B.
Date.now() + n).
Methoden
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
): Promise<boolean>
Löscht den Alarm mit dem angegebenen Namen.
Parameter
-
name
String optional
Der Name des zu löschenden Alarms. Die Standardeinstellung ist der leere String.
-
callback
function optional
Der Parameter
callbacksieht so aus:(wasCleared: boolean) => void
-
wasCleared
boolean
-
Ausgabe
-
Promise<boolean>
Chrome 91 oder höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean | undefined>
Löscht alle Wecker.
Parameter
-
callback
function optional
Der Parameter
callbacksieht so aus:(wasCleared?: boolean) => void
-
wasCleared
Boolesch optional
-
Ausgabe
-
Promise<boolean | undefined>
Chrome 91 oder höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
): Promise<void>
Erstellt einen Wecker. In der Nähe der von alarmInfo angegebenen Zeit(en) wird das Ereignis onAlarm ausgelöst. Wenn es einen anderen Wecker mit demselben Namen gibt (oder ohne Namen, falls keiner angegeben ist), wird er abgebrochen und durch diesen Wecker ersetzt.
Um die Belastung des Computers des Nutzers zu reduzieren, beschränkt Chrome die Alarme auf höchstens einmal pro Sekunde, kann sie aber auch um einen beliebigen Betrag verzögern. Wenn Sie delayInMinutes oder periodInMinutes auf weniger als 1 Sekunde festlegen, wird dies nicht berücksichtigt und es wird eine Warnung ausgegeben. when kann ohne Warnung auf weniger als 1 Sekunde nach „jetzt“ festgelegt werden, der Wecker wird jedoch erst nach mindestens 1 Sekunde ausgelöst.
Parameter
-
name
String optional
Optionaler Name zur Identifizierung dieses Alarms. Die Standardeinstellung ist der leere String.
-
alarmInfo
Beschreibt, wann der Alarm ausgelöst werden soll. Die Startzeit muss entweder mit
whenoderdelayInMinutesangegeben werden (aber nicht mit beiden). WennperiodInMinutesfestgelegt ist, wird der Alarm nach dem ersten Ereignis alleperiodInMinutesMinuten wiederholt. Wenn für einen sich wiederholenden Alarm wederwhennochdelayInMinutesfestgelegt ist, wirdperiodInMinutesals Standardwert fürdelayInMinutesverwendet. -
callback
function optional
Chrome 111+Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 111+Promise, das aufgelöst wird, wenn der Wecker erstellt wurde.
Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
get()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
Ruft Details zum angegebenen Alarm ab.
Parameter
Ausgabe
-
Promise<Alarm | undefined>
Chrome 91 oder höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
Ruft ein Array aller Alarme ab.
Parameter
Ausgabe
-
Promise<Alarm[]>
Chrome 91 oder höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.