Notifications API

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.

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:

js
btn.addEventListener("click", () => {
  let promise = Notification.requestPermission();
  // wait for permission
});

Dies öffnet einen Anforderungsdialog, der folgendermaßen aussieht:

Ein Dialogfeld, das den Benutzer fragt, ob er Benachrichtigungen von dieser Quelle zulassen möchte. Es gibt Optionen, Benachrichtigungen nie zu erlauben oder zu erlauben.

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 eines ServiceWorker 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

Browser-Kompatibilität

api.Notification

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Notification
Notification() constructor
actions
Experimental
badge
body
click event
close
close event
data
dir
error event
icon
image
Experimental
lang
maxActions static property
Experimental
permission static property
renotify
Experimental
requestPermission() static method
Returns a Promise
requireInteraction
Secure context required
show event
silent
tag
timestamp
Experimental
title
vibrate
Experimental
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Has more compatibility info.

api.ServiceWorkerRegistration.showNotification

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
showNotification
options.actions parameter
Experimental
options.badge parameter
options.data parameter
Experimental
options.image parameter
Experimental
options.renotify parameter
Experimental
options.requireInteraction parameter
Experimental
options.vibrate parameter
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

api.ServiceWorkerRegistration.getNotifications

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
getNotifications

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Siehe auch