Notification: Notification()-Konstruktor

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

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Der Notification()-Konstruktor erstellt eine neue Instanz des Notification-Objekts, das eine Benachrichtigung für den Benutzer darstellt.

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

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 unbestimmt oder ein leeres Array sein. actions wird nur für persistente Benachrichtigungen unterstützt, die von einem Service Worker mittels 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 für die Anzeige der eigentlichen Benachrichtigung vorhanden ist, z.B. in der Android-Benachrichtigungsleiste. Auf Android-Geräten sollte das Abzeichen Geräte bis zu einer 4x-Auflösung, etwa 96x96px, unterstützen, und das Bild wird automatisch maskiert.

body Optional

Ein String, der den Textkörper der Benachrichtigung darstellt, der unter dem Titel angezeigt wird. Standardmäßig ist dies der leere String.

data Optional

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

dir Optional

Die Richtung, in der die Benachrichtigung angezeigt wird. Standardmäßig wird auto verwendet, was das Sprachverhalten des Browsers übernimmt, aber Sie können dieses Verhalten überschreiben, indem Sie die Werte ltr und rtl einstellen (obwohl die meisten Browser diese Einstellungen zu ignorieren scheinen).

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 durch einen String, der einen Sprach-Tag gemäß RFC 5646: Tags for Identifying Languages (auch bekannt als BCP 47) darstellt. Siehe die Sitepoint-Seite ISO-2-Buchstaben-Sprachcodes für eine einfache Referenz. Der Standardwert ist der leere String.

renotify Optional

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

requireInteraction Optional

Gibt an, dass eine Benachrichtigung aktiv bleiben soll, bis der Benutzer darauf klickt oder sie 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 (den Standardwert) gesetzt, werden die Standardeinstellungen des Geräts respektiert.

tag Optional

Ein String, der ein identifizierendes 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 verbundene 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 Meeting, das bald beginnt.

vibrate Optional

Ein Vibrationsmuster für die Vibrieren-Hardware des Geräts, um mit der Benachrichtigung auszulösen. 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 das Serialisieren der data-Option aus irgendeinem Grund fehlschlägt.

Beispiele

Hier ist ein einfaches Beispiel, das nur eine Benachrichtigung anzeigt, wenn die Berechtigung bereits erteilt ist. Für vollständigere Beispiele siehe die Notification-Seite.

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

Spezifikationen

Specification
Notifications API Standard
# dom-notification-notification

Browser-Kompatibilität

BCD tables only load in the browser

Hinweise zu Chrome

Ab Chrome 49 funktionieren Benachrichtigungen im Inkognito-Modus nicht.

Chrome für Android wird einen TypeError auslösen, wenn der Notification-Konstruktor aufgerufen wird. Es unterstützt nur die Erstellung von Benachrichtigungen über einen Service Worker. Weitere Details finden Sie im Chromium-Issue-Tracker.

Siehe auch