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

View in English Always switch to English

Benachrichtigung: Notification()-Konstruktor

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Der Notification()-Konstruktor erstellt eine neue Notification-Objektinstanz, die eine Benutzerbenachrichtigung darstellt.

Der Versuch, eine Benachrichtigung innerhalb des ServiceWorkerGlobalScope mit dem Notification()-Konstruktor zu erstellen, führt zu einem TypeError. Verwenden Sie stattdessen ServiceWorkerRegistration.showNotification().

Sie müssen zuerst die Erlaubnis einholen, bevor Sie Benachrichtigungen anzeigen können, indem Sie Notification.requestPermission() verwenden. Die Erlaubnis kann möglicherweise nicht erteilt werden, beispielsweise wenn die Seite im privaten Modus geöffnet ist.

Dieser Konstruktor wirft einen TypeError, wenn er in fast allen mobilen Browsern aufgerufen wird und dies wird sich wahrscheinlich nicht ändern, da Webseiten auf mobilen Geräten fast nie "im Hintergrund laufen", was der Hauptanwendungsfall für Benachrichtigungen ist. Stattdessen müssen Sie einen Service Worker registrieren und ServiceWorkerRegistration.showNotification() verwenden. Weitere Informationen finden Sie im Chrome-Issue.

Syntax

js
new Notification(title)
new Notification(title, options)

Parameter

title

Definiert einen Titel für die Benachrichtigung, der oben im Benachrichtigungsfenster angezeigt wird.

options Optional

Ein Optionsobjekt, das benutzerdefinierte Einstellungen enthält, die Sie auf die Benachrichtigung anwenden möchten. Die möglichen Optionen sind:

actions Optional

Muss nicht spezifiziert oder ein leeres Array sein. actions wird nur für persistente Benachrichtigungen unterstützt, die von einem Service Worker mit ServiceWorkerRegistration.showNotification() ausgelöst werden.

badge Optional

Ein String, der die URL des Bildes enthält, das verwendet wird, um die Benachrichtigung darzustellen, wenn nicht genügend Platz vorhanden ist, um die Benachrichtigung selbst anzuzeigen, zum Beispiel in der Android-Benachrichtigungsleiste. Auf Android-Geräten sollte das Abzeichen Geräte bis zu einer Auflösung von 4x, etwa 96x96px, unterstützen und das Bild wird automatisch maskiert.

body Optional

Ein String, der den Textinhalt der Benachrichtigung darstellt, der unter dem Titel angezeigt wird. Der Standardwert ist der leere String.

data Optional

Beliebige Daten, die Sie mit der Benachrichtigung verknüpfen möchten. Dies kann jeder strukturiert klonbare Datentyp sein. Der Standardwert ist null.

dir Optional

Die Richtung, in der die Benachrichtigung angezeigt werden soll. Der Standardwert ist auto, welches einfach das Verhalten der Spracheinstellung des Browsers übernimmt, aber Sie können dieses Verhalten durch das Setzen von Werten wie ltr und rtl überschreiben (obwohl die meisten Browser diese Einstellungen ignorieren.)

icon Optional

Ein String, der die URL eines Icons enthält, das in der Benachrichtigung angezeigt wird.

image Optional

Ein String, der die URL eines Bildes enthält, das in der Benachrichtigung angezeigt wird.

lang Optional

Die Sprache der Benachrichtigung, angegeben durch einen String, der einen BCP 47-Sprachcode repräsentiert. Der Standardwert ist der leere String.

renotify Optional

Ein boolescher Wert, der angibt, ob der Benutzer benachrichtigt werden soll, nachdem eine neue Benachrichtigung eine alte ersetzt hat. Der Standardwert ist false, was bedeutet, dass er nicht benachrichtigt wird. Wenn true, dann muss auch tag gesetzt sein.

requireInteraction Optional

Gibt an, dass eine Benachrichtigung aktiv bleiben soll, bis der Benutzer sie anklickt oder schließt, anstatt sie automatisch zu schließen. Der Standardwert ist false.

silent Optional

Ein boolescher Wert, der angibt, ob die Benachrichtigung stumm geschaltet sein soll, d.h. unabhängig von den Geräteeinstellungen sollen keine Geräusche oder Vibrationen ausgegeben werden. Wenn auf true gesetzt, ist die Benachrichtigung stumm; wenn auf null gesetzt (der Standardwert), werden die Standardeinstellungen des Geräts respektiert.

tag Optional

Ein String, der einen identifizierenden Tag für die Benachrichtigung darstellt. Der Standardwert ist der leere String.

timestamp Optional

Ein Zeitstempel, angegeben als Unix-Zeit in Millisekunden, der die mit der Benachrichtigung verknüpfte Zeit darstellt. Dies könnte in der Vergangenheit liegen, wenn eine Benachrichtigung für eine Nachricht verwendet wird, die nicht sofort zugestellt werden konnte, weil das Gerät offline war, oder in der Zukunft für ein Treffen, das bald beginnt.

vibrate Optional

Ein Vibrationsmuster für die Vibrationstechnik des Geräts, das mit der Benachrichtigung ausgegeben werden soll. Wenn angegeben, darf silent nicht true sein.

Rückgabewert

Eine Instanz des Notification-Objekts.

Ausnahmen

TypeError

Wird geworfen, wenn:

  • Der Konstruktor innerhalb des ServiceWorkerGlobalScope aufgerufen wird.
  • Die actions-Option spezifiziert und nicht leer ist.
  • Die silent-Option true ist und die vibrate-Option angegeben ist.
  • Die renotify-Option true ist, aber die tag-Option leer ist.
DataCloneError DOMException

Wird geworfen, wenn die Serialisierung der data-Option aus irgendeinem Grund fehlgeschlagen ist.

Beispiele

Hier ist ein grundlegendes Beispiel, um nur eine Benachrichtigung anzuzeigen, wenn die Erlaubnis bereits erteilt wurde. Für vollständigere Beispiele siehe die Notification-Seite.

js
if (Notification.permission === "granted") {
  const notification = new Notification("Hi there!");
}

Spezifikationen

Specification
Notifications API
# dom-notification-notification

Browser-Kompatibilität

Siehe auch