ServiceWorkerGlobalScope.onnotificationclick

La propriété ServiceWorkerGlobalScope.onnotificationclick est un gestionnaire d'événements appelé chaque fois que l'événement notificationclick est envoyé sur l'objet ServiceWorkerGlobalScope, c'est-à-dire lorsqu'un utilisateur clique sur une notification affichée générée par ServiceWorkerRegistration.showNotification().

Les notifications créées sur le thread principal ou dans un worker qui ne sont pas des service worker utilisant le constructeur Notification() recevront à la place un événement click sur l'objet Notification lui-même.

Note: Essayer de créer une notification dans le ServiceWorkerGlobalScope en utilisant le constructeur Notification() générera une erreur.

Syntaxe

ServiceWorkerGlobalScope.onnotificationclick = function(NotificationEvent) { ... }
ServiceWorkerGlobalScope.onnotificationclick = (NotificationEvent) => { ... }

Exemple

self.onnotificationclick = (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((clientList) => {
        for (let i = 0; i < clientList.length; i++) {
          const client = clientList[i]
          if (client.url == '/' && 'focus' in client) return client.focus()
        }
        if (clients.openWindow) return clients.openWindow('/')
      })
  )
}

Spécifications

Spécification État Commentaire
Notifications API
La définition de 'onnotificationclick' dans cette spécification.
Standard évolutif Définition initiale. Cette propriété est spécifiée dans Notifications_API même si elle fait partie de ServiceWorkerGlobalScope.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
onnotificationclick
Expérimentale
Chrome Support complet 40Edge Support complet ≤79Firefox Support complet 44
Notes
Support complet 44
Notes
Notes Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Aucun support NonOpera Support complet 24Safari Support complet 11.1WebView Android Support complet 40Chrome Android Support complet 40Firefox Android Support complet 44Opera Android Support complet 24Safari iOS Support complet 11.3Samsung Internet Android Support complet 4.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Voir les notes d'implémentation.
Voir les notes d'implémentation.