Quand j'ai entendu parler de ces termes pour la première fois, je me suis dit, d'accord, ils font à peu près la même chose avec leur fil de discussion séparé. Alors Pourquoi avons-nous besoin de ces 2 termes ?
Mais à vrai dire il y a d'énormes différences entre ces 2 termes et leur comportement.
Je vais essayer de vous expliquer en détail.
Le point commun entre ces 2 est
Travailleur Web
Travailleur de service
Cycle de vie du travailleur de service
1. Inscription
if ('serviceWorker' in navigator) { // wrap it in try/catch / promisses await navigator.serviceWorker.register('/service-worker.js') }
2. Installation
le code ci-dessous dont nous avons besoin pour l'écrire dans service-worker.js
self.addEventListener('install', (event) => { // do your operations })
3. Activation
self.addEventListener('activate', (event) => { // Do your Operation })
4. Inactif
5. récupérer/Message
self.addEventListener('fetch', (event) => { // Do your Opeation })
6. Résiliation
Cela gardera les employés de service pendant très longtemps.
Exemple :-
dans Chrome, ouvrez ce lien, vous verrez de nombreux techniciens de service suspendus et vous pourrez faire beaucoup de choses comme inspecter/démarrer et envoyer un message.
chrome://serviceworker-internals/
Comment pouvons-nous réveiller les employés du service même si le navigateur est fermé.
Remarque :-
Pour cela spécifique, nous pouvons utiliser Push pour se réveiller, mais pour cette utilisation, nous devons donner l'autorisation de notification au navigateur, sinon il n'y a aucun moyen.
D'autres moyens sont pertinents lorsque le navigateur est encore ouvert
1. récupérer l'événement
self.addEventListener('fetch', event => { // Handle fetch event });
2. Message
self.addEventListener('message', (event) => { // Handle message Event })
3. Pousser
self.addEventListener('push', (event) => { // Handle Push Event })
4. Événement de synchronisation
self.addEventListener('sync', (event) => { // handle background Sync Event })
Référence
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!