--- title: NotificationEvent slug: Web/API/NotificationEvent tags: - API - Experimental - Interface - Reference - ServiceWorker translation_of: Web/API/NotificationEvent ---
L'interface NotificationEvent
représente un évènement de clic pour une notification et qui est dispatché vers le {{domxref("ServiceWorkerGlobalScope")}} d'un {{domxref("ServiceWorker")}}.
Cette interface hérite de l'interface {{domxref("ExtendableEvent")}}.
NotificationEvent
.Cet objet hérite de propriétés grâce à son ancêtre : {{domxref("Event")}}.
Cet objet hérite de méthodes grâce à son parent {{domxref("ExtendableEvent")}}.
Cette méthode allonge la durée de vie de l'évènement. Elle est conçue pour être appelée dans le gestionnaire d'évènement {{event("install")}} lors de l'installation (cf. {{domxref("ServiceWorkerRegistration.installing")}}) du worker et dans le gestionnaire d'évènement {{event("active")}} pour le worker actif (cf. {{domxref("ServiceWorkerRegistration.active")}}).
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écification | État | Commentaires |
---|---|---|
{{SpecName('Web Notifications','#notificationevent','NotificationEvent')}} | {{Spec2('Web Notifications')}} |
Note : Cette interface est définie au sein de l'API Notifications, mais on y accède via {{domxref("ServiceWorkerGlobalScope")}}.
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support simple | {{CompatChrome(42)}} | {{CompatGeckoDesktop("44.0")}}[1] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
action |
{{CompatChrome(48)}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Fonctionnalité | Android | Webview Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome pour Android |
---|---|---|---|---|---|---|---|
Support simple | {{CompatNo}} | {{CompatNo}} | {{CompatGeckoMobile("44.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatChrome(42)}} |
action |
{{CompatNo}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatChrome(48)}} |
[1] Les service workers (ainsi que l'API Push) ont été désactivés dans l'édition Firefox 45 Extended Support Release (ESR).