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
new Notification(title)
new Notification(title, options)
Parameter
title-
Definiert einen Titel für die Benachrichtigung, der oben im Benachrichtigungsfenster angezeigt wird.
optionsOptional-
Ein Optionsobjekt, das benutzerdefinierte Einstellungen enthält, die Sie auf die Benachrichtigung anwenden möchten. Die möglichen Optionen sind:
actionsOptional-
Muss nicht spezifiziert oder ein leeres Array sein.
actionswird nur für persistente Benachrichtigungen unterstützt, die von einem Service Worker mitServiceWorkerRegistration.showNotification()ausgelöst werden. badgeOptional-
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.
bodyOptional-
Ein String, der den Textinhalt der Benachrichtigung darstellt, der unter dem Titel angezeigt wird. Der Standardwert ist der leere String.
dataOptional-
Beliebige Daten, die Sie mit der Benachrichtigung verknüpfen möchten. Dies kann jeder strukturiert klonbare Datentyp sein. Der Standardwert ist
null. dirOptional-
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 wieltrundrtlüberschreiben (obwohl die meisten Browser diese Einstellungen ignorieren.) iconOptional-
Ein String, der die URL eines Icons enthält, das in der Benachrichtigung angezeigt wird.
imageOptional-
Ein String, der die URL eines Bildes enthält, das in der Benachrichtigung angezeigt wird.
langOptional-
Die Sprache der Benachrichtigung, angegeben durch einen String, der einen BCP 47-Sprachcode repräsentiert. Der Standardwert ist der leere String.
renotifyOptional-
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. Wenntrue, dann muss auchtaggesetzt sein. requireInteractionOptional-
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. silentOptional-
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
truegesetzt, ist die Benachrichtigung stumm; wenn aufnullgesetzt (der Standardwert), werden die Standardeinstellungen des Geräts respektiert. tagOptional-
Ein String, der einen identifizierenden Tag für die Benachrichtigung darstellt. Der Standardwert ist der leere String.
timestampOptional-
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.
vibrateOptional-
Ein Vibrationsmuster für die Vibrationstechnik des Geräts, das mit der Benachrichtigung ausgegeben werden soll. Wenn angegeben, darf
silentnichttruesein.
Rückgabewert
Eine Instanz des Notification-Objekts.
Ausnahmen
TypeError-
Wird geworfen, wenn:
- Der Konstruktor innerhalb des
ServiceWorkerGlobalScopeaufgerufen wird. - Die
actions-Option spezifiziert und nicht leer ist. - Die
silent-Optiontrueist und dievibrate-Option angegeben ist. - Die
renotify-Optiontrueist, aber dietag-Option leer ist.
- Der Konstruktor innerhalb des
DataCloneErrorDOMException-
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.
if (Notification.permission === "granted") {
const notification = new Notification("Hi there!");
}
Spezifikationen
| Specification |
|---|
| Notifications API> # dom-notification-notification> |
Browser-Kompatibilität
Loading…