NotificationEvent

Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

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.

Le paramètre passé dans le handler onnotificationclick, l'interface NotificationEvent représente une notification d'un évènement de clique qui est dispatché sur ServiceWorkerGlobalScope du ServiceWorker.

Cette interface hérite de l'interface ExtendableEvent.

Constructeur

NotificationEvent.NotificationEvent()
Crée un nouvelle objet NotificationEvent.

Propriétés

Propriétés héritées depuis les antécédent, Event.

NotificationEvent.notification Lecture seule
Retourne un objet Notification representant la notification qui est cliqué pour déclencher l'évènement.
NotificationEvent.action Lecture seule
Retourne la chaine ID du bouton de notification que l'utilisateur a cliqué. Cette valeur retourne undefined si l'utilisateur a cliqué la notification ailleur que sur un bouton d'action, ou que la notification n'a pas de bouton.

Méthodes

Méthodes héritées depuis le parent, ExtendableEvent.

ExtendableEvent.waitUntil()

Etendre la durée de vie de l'évènement. Elle est prévu d'être appelée dans install EventHandler pour le worker installing, et sur active EventHandler pour le worker active.

Example

self.addEventListener('notificationclick', function(event) {
  console.log('On notification click: ', event.notification.tag);
  event.notification.close();

  // This looks to see if the current is already open and
  // focuses if it is
  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('/');
  }));
});

Specifications

Specification Status Comment
Notifications API
La définition de 'NotificationEvent' dans cette spécification.
Recommendation Living standard.

Note: Cette interface est specifiée dans les Notifications API, mais accédé depuis ServiceWorkerGlobalScope.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 42 44.0 (44.0)[1] ? ? ?
action 48        
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Support basique Pas de support Pas de support 44.0 (44.0) (Oui) ? ? ? 42
action Pas de support Pas de support           48

[1] Service workers (et Push) ont été disactivés dans Firefox 45 Extended Support Release (ESR.)

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : dzlabs
 Dernière mise à jour par : dzlabs,