1

J'utilise Google Web Starter kit et une notification peut être affichée en utilisant le service worker.Détecter le clic sur la notification dans le kit de démarrage web

navigator.serviceWorker.getRegistration().then(function(reg) { 
    var options = { 
     body: body 
    }; 
    reg.showNotification(title, options); 
}); 

Je voudrais détecter notificationclick événement à l'aide du travailleur de service.

notification behaviour article déclare que:

Pour ce faire, nous devons ajouter un écouteur d'événement 'notificationclick' à notre travailleur de service.

J'ai essayé les éléments suivants:

navigator.serviceWorker.addEventListener('notificationclick', function() { 
    console.log('notificationclick event called'); 
}); 

Mais il ne semble pas fonctionner. Où l'écouteur d'événement doit-il être ajouté?

+0

Qu'est-ce que le journal des erreurs? – abielita

+0

Il n'y a pas d'erreur dans la console lorsque je clique sur la notification qui apparaît à l'écran. –

Répondre

0

Vous devez mettre le gestionnaire d'événements notificationclick dans le fichier des travailleurs de services, et utiliser self.addEventListener (ou tout simplement addEventListener):

# sw.js 

self.addEventListener('notificationclick', function() { 
    console.log('notificationclick event called'); 
}); 

Mettre dans le dossier du travailleur de service est logique parce que si la page/navigateur est fermé, vous souhaitez toujours que le gestionnaire d'événements s'exécute.