Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

alarms.create()

Erstellt einen neuen Alarm für die aktuelle Browsersitzung. Ein Alarm kann einmal oder mehrmals ausgelöst werden. Ein Alarm wird gelöscht, nachdem er das letzte Mal ausgelöst wurde.

Hinweis: Ab Chrome 117 ist die Anzahl der aktiven Alarme auf 500 begrenzt. Wenn diese Grenze erreicht ist, schlägt die Erstellung eines Alarms fehl.

Syntax

js
browser.alarms.create(
  name,              // optional string
  alarmInfo          // optional object
)

Parameter

name Optional

string. Ein Name für den Alarm. Standardmäßig ist der Name ein leerer String.

Dies kann verwendet werden, um auf einen bestimmten Alarm in alarms.get() und alarms.clear() zu verweisen. Er wird auch in alarms.onAlarm als name-Eigenschaft des alarms.Alarm-Objekts verfügbar sein, das der Listener-Funktion übergeben wird.

Alarmnamen sind innerhalb des Gültigkeitsbereichs einer einzelnen Erweiterung eindeutig. Wenn ein Alarm mit einem identischen Namen existiert, wird der bestehende Alarm gelöscht und der neu erstellte Alarm ersetzt ihn.

alarmInfo Optional

object. Sie können dieses Objekt verwenden, um anzugeben, wann der Alarm zunächst ausgelöst wird, entweder als absoluter Wert (when) oder als Verzögerung ab dem Zeitpunkt der Alarmeinstellung (delayInMinutes). Um den Alarm wiederkehren zu lassen, geben Sie periodInMinutes an.

In Chrome, es sei denn, die Erweiterung wird unverpackt geladen, werden Alarme nicht öfter als alle 30 Sekunden ausgelöst. Wenn eine Erweiterung delayInMinutes auf einen Wert < 0,5 festlegt oder when auf einen Wert < 0,5 setzt, wird der Alarm 30 Sekunden nach dem Einstellen ausgelöst. Wenn eine Erweiterung periodInMinutes auf einen Wert < 0,5 setzt, wird der Alarm alle 30 Sekunden ausgelöst. Das Festlegen von delayInMinutes oder periodInMinutes auf < 0,5 führt zu einer Warnung. Alarm-Auslösungen können willkürlich verzögert werden. Vor Chrome 120 war diese Grenze eine Minute.

Das alarmInfo-Objekt kann die folgenden Eigenschaften enthalten:

when Optional

double. Die Zeit, zu der der Alarm erstmals ausgelöst wird, angegeben als Millisekunden seit der Epoche. Um die Anzahl der Millisekunden zwischen der Epoche und der aktuellen Zeit zu erhalten, verwenden Sie Date.now(). Wenn Sie when angeben, geben Sie delayInMinutes nicht an.

delayInMinutes Optional

double. Die Zeit, zu der der Alarm erstmals ausgelöst wird, angegeben als Minuten ab dem Zeitpunkt der Alarmeinstellung. Wenn Sie delayInMinutes angeben, geben Sie when nicht an.

periodInMinutes Optional

double. Wenn dies angegeben ist, wird der Alarm nach der ersten Auslösung alle periodInMinutes erneut ausgelöst. Wenn Sie diesen Wert angeben, können Sie sowohl when als auch delayInMinutes weglassen, und der Alarm wird dann zunächst nach periodInMinutes ausgelöst. Wenn periodInMinutes nicht angegeben ist, wird der Alarm nur einmal ausgelöst.

Rückgabewert

Ein Promise, das ohne Argumente erfüllt wird.

Beispiele

Einen einmaligen, delay-basierten Alarm mit "" als Name erstellen:

js
function onAdded() {
  console.log("Alarm Added!");
}

let delayInMinutes = 5;

let addingAlarm = browser.alarms.create({
  delayInMinutes,
});
addingAlarm.then(onAdded);

Einen periodischen, delay-basierten Alarm mit dem Namen "my-periodic-alarm" erstellen:

js
const delayInMinutes = 5;
const periodInMinutes = 2;

browser.alarms.create("my-periodic-alarm", {
  delayInMinutes,
  periodInMinutes,
});

Einen periodischen, absoluten Alarm mit dem Namen "my-periodic-alarm" erstellen:

js
const when = 1545696000;
const periodInMinutes = 2;

browser.alarms.create("my-periodic-alarm", {
  when,
  periodInMinutes,
});

Browser-Kompatibilität

Hinweis: Diese API basiert auf der Chromium-API chrome.alarms.