Benachrichtigung: Notification() Konstruktor - Web-APIs | MDN

Eingeschränkt verfügbar

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 Instanz des Notification Objekts, das eine Benutzerbenachrichtigung darstellt.

Der Versuch, eine Benachrichtigung im 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 Browsing-Modus ist.

Dieser Konstruktor wirft einen TypeError, wenn er in fast allen mobilen Browsern aufgerufen wird, und es ist unwahrscheinlich, dass sich dies ändert, da Webseiten auf mobilen Geräten fast nie "im Hintergrund ausgeführt werden", was der Hauptanwendungsfall für Benachrichtigungen ist. Stattdessen müssen Sie einen Service Worker registrieren und ServiceWorkerRegistration.showNotification() verwenden. Siehe Chrome issue für weitere Informationen.

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 alle benutzerdefinierten Einstellungen enthält, die Sie auf die Benachrichtigung anwenden möchten. Die möglichen Optionen sind:

actions Optional

Muss nicht angegeben 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 die Benachrichtigung darstellt, wenn nicht genug Platz zum Anzeigen der Benachrichtigung selbst ist; beispielsweise die Android-Benachrichtigungsleiste. Auf Android-Geräten sollte das Badge Geräte bis zu 4-facher Auflösung, etwa 96x96px, berücksichtigen, und das Bild wird automatisch maskiert.

body Optional

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

data Optional

Beliebige Daten, die Sie mit der Benachrichtigung verknüpfen möchten. Dies kann eine strukturierbar klonbare Datenart sein. Der Standard ist null.

dir Optional

Die Richtung, in der die Benachrichtigung angezeigt wird. Der Standard ist auto, was einfach das Sprachverhalten des Browsers übernimmt, aber Sie können dieses Verhalten überschreiben, indem Sie die Werte ltr und rtl festlegen (obwohl die meisten Browser diese Einstellungen scheinbar ignorieren).

icon Optional

Ein String, der die URL eines Symbols 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 als String, der einen BCP 47 Sprach-Tag darstellt. Der Standard ist der leere String.

Ein String, der eine URL enthält, zu der navigiert wird, wenn der Benutzer die Benachrichtigung aktiviert. Wenn eingestellt, navigiert der Benutzeragent zu dieser URL anstatt das click Ereignis auszulösen. Der Wert wird relativ zur Basis-URL der Seite analysiert. Siehe Notification.navigate für weitere Informationen.

renotify Optional

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

requireInteraction Optional

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

silent Optional

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

tag Optional

Ein String, der ein identifizierendes Tag für die Benachrichtigung darstellt. Der Standard ist der leere String.

timestamp Optional

Ein Zeitstempel, angegeben als Unix-Zeit in Millisekunden, die die Zeit darstellt, die mit der Benachrichtigung verknüpft ist. 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 Meeting, das bald beginnt.

vibrate Optional

Ein Vibrationsmuster für die Vibrationshardware des Geräts, die mit der Benachrichtigung ausgegeben wird. Wenn angegeben, darf silent nicht true sein.

Rückgabewert

Eine Instanz des Notification Objekts.

Ausnahmen

TypeError

Wird ausgelöst, wenn:

  • Der Konstruktor innerhalb des ServiceWorkerGlobalScope aufgerufen wird.
  • Die actions Option angegeben ist 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 ausgelöst, wenn die Serialisierung der data Option aus irgendeinem Grund fehlschlägt.

Beispiele

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

js

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

Spezifikationen

Spezifikation
Notifications API
# dom-notification-notification

Browser-Kompatibilität

Siehe auch

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.