chrome.alarms

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

alarms

Manifest

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 periodInMinutes Minuten 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öher

    Name dieses Alarms.

  • periodInMinutes

    number optional

    Wenn festgelegt, sollte das onAlarm-Ereignis alle periodInMinutes Minuten nach dem ersten Ereignis ausgelöst werden, das durch when oder delayInMinutes angegeben 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()

Promise
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 callback sieht so aus:

    (wasCleared: boolean) => void

    • wasCleared

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 91 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

clearAll()

Promise
chrome.alarms.clearAll(
  callback?: function,
)
: Promise<boolean | undefined>

Löscht alle Wecker.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (wasCleared?: boolean) => void

    • wasCleared

      Boolesch optional

Ausgabe

  • Promise<boolean | undefined>

    Chrome 91 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

create()

Promise
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 when oder delayInMinutes angegeben werden (aber nicht mit beiden). Wenn periodInMinutes festgelegt ist, wird der Alarm nach dem ersten Ereignis alle periodInMinutes Minuten wiederholt. Wenn für einen sich wiederholenden Alarm weder when noch delayInMinutes festgelegt ist, wird periodInMinutes als Standardwert für delayInMinutes verwendet.

  • callback

    function optional

    Chrome 111+

    Der Parameter callback sieht 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()

Promise
chrome.alarms.get(
  name?: string,
  callback?: function,
)
: Promise<Alarm | undefined>

Ruft Details zum angegebenen Alarm ab.

Parameter

  • name

    String optional

    Der Name des abzurufenden Alarms. Die Standardeinstellung ist der leere String.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (alarm?: Alarm) => void

Ausgabe

  • Promise<Alarm | undefined>

    Chrome 91 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getAll()

Promise
chrome.alarms.getAll(
  callback?: function,
)
: Promise<Alarm[]>

Ruft ein Array aller Alarme ab.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (alarms: Alarm[]) => void

Ausgabe

  • Promise<Alarm[]>

    Chrome 91 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

Ereignisse

onAlarm

chrome.alarms.onAlarm.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Wecker abgelaufen ist. Nützlich für Veranstaltungsseiten.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (alarm: Alarm) => void