Benachrichtigung
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.
Das Notification-Interface der Notifications API wird verwendet, um Desktop-Benachrichtigungen für den Benutzer zu konfigurieren und anzuzeigen.
Das Erscheinungsbild und die spezifische Funktionalität dieser Benachrichtigungen variieren je nach Plattform, bieten jedoch im Allgemeinen eine Möglichkeit, dem Benutzer asynchron Informationen bereitzustellen.
Konstruktor
Notification()-
Erstellt eine neue Instanz des
Notification-Objekts.
Statische Eigenschaften
Erbt auch Eigenschaften von seinem übergeordneten Interface, EventTarget.
Notification.permissionSchreibgeschützt-
Ein String, der die aktuelle Berechtigung zum Anzeigen von Benachrichtigungen darstellt. Mögliche Werte sind:
denied— Der Benutzer lehnt es ab, Benachrichtigungen anzeigen zu lassen.granted— Der Benutzer akzeptiert es, Benachrichtigungen anzeigen zu lassen.default— Die Wahl des Benutzers ist unbekannt, daher wird der Browser so handeln, als wäre der Wertdenied.
Notification.maxActionsSchreibgeschützt Experimentell-
Die maximale Anzahl von Aktionen, die vom Gerät und dem User Agent unterstützt werden.
Instanzeigenschaften
Erbt auch Eigenschaften von seinem übergeordneten Interface, EventTarget.
Notification.actionsSchreibgeschützt Experimentell-
Das Aktionsarray der Benachrichtigung, wie im
options-Parameter des Konstruktors angegeben. Notification.badgeSchreibgeschützt-
Ein String, der die URL eines Bildes enthält, um die Benachrichtigung darzustellen, wenn nicht genügend Platz vorhanden ist, um die Benachrichtigung selbst anzuzeigen, wie zum Beispiel in der Android-Benachrichtigungsleiste. Auf Android-Geräten sollte das Abzeichen Geräte bis zu einer 4-fachen Auflösung unterstützen, etwa 96 x 96 px, und das Bild wird automatisch maskiert.
Notification.bodySchreibgeschützt-
Der Text der Benachrichtigung, wie im
options-Parameter des Konstruktors angegeben. Notification.dataSchreibgeschützt-
Gibt eine strukturierte Kopie der Daten der Benachrichtigung zurück.
Notification.dirSchreibgeschützt-
Die Textrichtung der Benachrichtigung, wie im
options-Parameter des Konstruktors angegeben. Notification.iconSchreibgeschützt-
Die URL des Bildes, das als Symbol der Benachrichtigung verwendet wird, wie im
options-Parameter des Konstruktors angegeben. Notification.imageSchreibgeschützt Experimentell-
Die URL eines Bildes, das als Teil der Benachrichtigung angezeigt werden soll, wie im
options-Parameter des Konstruktors angegeben. Notification.langSchreibgeschützt-
Der Sprachcode der Benachrichtigung, wie im
options-Parameter des Konstruktors angegeben. -
Die Navigations-URL der Benachrichtigung. Wenn festgelegt, führt das Aktivieren der Benachrichtigung zu dieser URL, anstatt das
clickodernotificationclick-Ereignis auszulösen. Notification.renotifySchreibgeschützt Experimentell-
Gibt an, ob der Benutzer benachrichtigt werden soll, nachdem eine neue Benachrichtigung eine alte ersetzt hat.
Notification.requireInteractionSchreibgeschützt-
Ein boolescher Wert, der angibt, dass eine Benachrichtigung aktiv bleiben sollte, bis der Benutzer sie anklickt oder schließt, anstatt sich automatisch zu schließen.
Notification.silentSchreibgeschützt-
Gibt an, ob die Benachrichtigung stumm sein soll — d.h. es sollten unabhängig von den Einstellungen des Geräts keine Geräusche oder Vibrationen ausgelöst werden.
Notification.tagSchreibgeschützt-
Die ID der Benachrichtigung (falls vorhanden), wie im
options-Parameter des Konstruktors angegeben. Notification.timestampSchreibgeschützt Experimentell-
Gibt die Uhrzeit an, zu der eine Benachrichtigung erstellt oder anwendbar ist (Vergangenheit, Gegenwart oder Zukunft).
Notification.titleSchreibgeschützt-
Der Titel der Benachrichtigung, wie im ersten Parameter des Konstruktors angegeben.
Notification.vibrateSchreibgeschützt Experimentell-
Gibt ein Vibrationsmuster für Geräte mit Vibrationshardware an, die emittiert werden soll.
Statische Methoden
Erbt auch Methoden von seinem übergeordneten Interface, EventTarget.
Notification.requestPermission()-
Fordert die Erlaubnis des Benutzers an, Benachrichtigungen anzuzeigen.
Instanzmethoden
Erbt auch Methoden von seinem übergeordneten Interface, EventTarget.
Notification.close()-
Schließt programmgesteuert eine Benachrichtigungsinstanz.
Ereignisse
Erbt auch Ereignisse von seinem übergeordneten Interface, EventTarget.
Beispiele
Angenommen, dieses grundlegende HTML:
<button>Notify me!</button>
Es ist möglich, eine Benachrichtigung wie folgt zu senden — hier präsentieren wir einen recht ausführlichen und vollständigen Code, den Sie verwenden könnten, wenn Sie zuerst überprüfen möchten, ob Benachrichtigungen unterstützt werden, dann prüfen, ob die Erlaubnis erteilt wurde, dass der aktuelle Ursprung Benachrichtigungen senden darf, dann die Erlaubnis anfordern, falls erforderlich, bevor Sie dann eine Benachrichtigung senden.
document.querySelector("button").addEventListener("click", notifyMe);
function notifyMe() {
if (!("Notification" in window)) {
// Check if the browser supports notifications
alert("This browser does not support desktop notification");
} else if (Notification.permission === "granted") {
// Check whether notification permissions have already been granted;
// if so, create a notification
const notification = new Notification("Hi there!");
// …
} else if (Notification.permission !== "denied") {
// We need to ask the user for permission
Notification.requestPermission().then((permission) => {
// If the user accepts, let's create a notification
if (permission === "granted") {
const notification = new Notification("Hi there!");
// …
}
});
}
// At last, if the user has denied notifications, and you
// want to be respectful there is no need to bother them anymore.
}
Wir zeigen kein Live-Beispiel mehr auf dieser Seite, da Chrome und Firefox nicht mehr erlauben, dass Benachrichtigungsberechtigungen von Cross-Origin <iframe>s angefordert werden, und andere Browser folgen werden. Um ein Beispiel in Aktion zu sehen, sehen Sie sich unser To-do-Liste-Beispiel an (siehe auch die laufende App).
Hinweis: Im obigen Beispiel erzeugen wir Benachrichtigungen als Reaktion auf eine Benutzeraktion (Klicken auf einen Button). Dies ist nicht nur Best Practice – Sie sollten Benutzer nicht mit Benachrichtigungen spammen, denen sie nicht zugestimmt haben – sondern Browser werden künftig ausdrücklich Benachrichtigungen verbieten, die nicht als Reaktion auf eine Benutzeraktion ausgelöst werden. Firefox tut dies bereits ab Version 72.
Spezifikationen
| Specification |
|---|
| Notifications API> # api> |