Notifications API
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.
Die Notifications API ermöglicht es Webseiten, die Anzeige von Systembenachrichtigungen für den Endbenutzer zu steuern. Diese befinden sich außerhalb des obersten Browsing-Kontext-Viewports und können daher auch angezeigt werden, wenn der Benutzer die Tabs gewechselt hat oder zu einer anderen App gegangen ist. Die API wurde entwickelt, um mit bestehenden Benachrichtigungssystemen auf verschiedenen Plattformen kompatibel zu sein.
Konzepte und Anwendung
Auf unterstützten Plattformen umfasst das Anzeigen einer Systembenachrichtigung in der Regel zwei Dinge. Zuerst muss der Benutzer der aktuellen Quelle die Erlaubnis erteilen, Systembenachrichtigungen anzuzeigen, was normalerweise erfolgt, wenn die App oder Website initialisiert wird, und zwar mit der Methode Notification.requestPermission()
.
Diese Methode sollte nur dann aufgerufen werden, wenn ein Benutzerereignis behandelt wird, beispielsweise bei einem Mausklick. Zum Beispiel:
btn.addEventListener("click", () => {
let promise = Notification.requestPermission();
// wait for permission
});
Dies öffnet einen Anforderungsdialog, der folgendermaßen aussieht:
Hier kann der Benutzer wählen, ob er Benachrichtigungen von dieser Quelle zulassen oder blockieren möchte. Sobald eine Entscheidung getroffen wurde, bleibt die Einstellung in der Regel für die aktuelle Sitzung bestehen.
Als Nächstes wird eine neue Benachrichtigung mit dem Notification()
Konstruktor erstellt. Dieser muss ein Titel-Argument enthalten und kann optional ein Optionsobjekt erhalten, um Optionen wie Textausrichtung, Nachrichtentext, anzuzeigendes Symbol, abzuspielenden Benachrichtigungston und mehr anzugeben.
Darüber hinaus spezifiziert die Notifications API Spezifikation eine Reihe von Erweiterungen zur ServiceWorker API, um es Service-Workern zu ermöglichen, Benachrichtigungen auszulösen.
Hinweis: Um mehr über die Verwendung von Benachrichtigungen in Ihrer eigenen App zu erfahren, lesen Sie Using the Notifications API.
Schnittstellen
Notification
-
Definiert ein Benachrichtigungsobjekt.
NotificationEvent
-
Repräsentiert ein Benachrichtigungsereignis, das im
ServiceWorkerGlobalScope
einesServiceWorker
gesendet wird.
Erweiterungen zu anderen Schnittstellen
notificationclick
Ereignis-
Tritt auf, wenn ein Benutzer auf eine angezeigte Benachrichtigung klickt.
notificationclose
Ereignis-
Tritt auf, wenn ein Benutzer eine angezeigte Benachrichtigung schließt.
ServiceWorkerRegistration.getNotifications()
-
Gibt eine Liste der Benachrichtigungen in der Reihenfolge zurück, in der sie von der aktuellen Quelle über die aktuelle Service-Worker-Registrierung erstellt wurden.
ServiceWorkerRegistration.showNotification()
-
Zeigt die Benachrichtigung mit dem angeforderten Titel an.
Spezifikationen
Specification |
---|
Notifications API Standard |
Browser-Kompatibilität
api.Notification
BCD tables only load in the browser
api.ServiceWorkerRegistration.showNotification
BCD tables only load in the browser
api.ServiceWorkerRegistration.getNotifications
BCD tables only load in the browser