NotificationEvent
Expérimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
L'interface NotificationEvent représente un évènement de clic pour une notification et qui est dispatché vers le ServiceWorkerGlobalScope d'un ServiceWorker.
Cette interface hérite de l'interface ExtendableEvent.
Constructeur
NotificationEvent.NotificationEvent()(en-US)-
Cette méthode permet de créer un nouvel objet
NotificationEvent.
Propriétés
Cet objet hérite de propriétés grâce à son ancêtre : Event.
NotificationEvent.notification(en-US) Lecture seule-
Cette propriété renvoie un objet
Notificationreprésentant la notification sur laquelle on a cliqué pour déclencher l'évènement. NotificationEvent.action(en-US) Lecture seule-
Cette propriété renvoie une chaîne de caractères identifiant le bouton de la notification sur lequel l'utilisateur a cliqué. Cette valeur sera
undefinedsi l'utilisateur a cliqué autre part que sur le bouton pour la notification ou si la notification ne possède pas de bouton.
Méthodes
Cet objet hérite de méthodes grâce à son parent ExtendableEvent.
ExtendableEvent.waitUntil()(en-US)-
Cette méthode allonge la durée de vie de l'évènement et indique qu'une tâche est toujours en cours.
Exemples
js
self.addEventListener('notificationclick', function(event) {
console.log('Au clic sur la notification : ', event.notification.tag);
event.notification.close();
// On regarde ici si elle est déjà ouverte
// et si le focus est dessus
event.waitUntil(clients.matchAll({
type: "window"
}).then(function(clientList) {
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url == '/' && 'focus' in client)
return client.focus();
}
if (clients.openWindow)
return clients.openWindow('/');
}));
});
Spécifications
| Specification |
|---|
| Notifications API Standard # notificationevent |
Compatibilité des navigateurs
BCD tables only load in the browser