Quando ouvi falar desses termos pela primeira vez, pensei: ok, eles estão fazendo as mesmas coisas com seus tópicos separados. Então, por que precisamos desses 2 termos?
Mas, para dizer a verdade, existem grandes diferenças entre esses 2 termos e como eles se comportam.
Tentarei explicar em detalhes.
O ponto em comum entre esses dois é
Trabalhador da Web
Trabalhador de serviços
Ciclo de vida do trabalhador de serviços
1. Registro
if ('serviceWorker' in navigator) { // wrap it in try/catch / promisses await navigator.serviceWorker.register('/service-worker.js') }
2. Instalação
o código abaixo, precisamos escrevê-lo em service-worker.js
self.addEventListener('install', (event) => { // do your operations })
3. Ativação
self.addEventListener('activate', (event) => { // Do your Operation })
4. Parado
5. buscar/mensagem
self.addEventListener('fetch', (event) => { // Do your Opeation })
6. Rescisão
Isso manterá os prestadores de serviço por muito tempo.
Exemplo:-
no Chrome Abra este link, você verá muitos service workers pendurados e poderá fazer muitas coisas como inspecionar/iniciar e enviar uma mensagem.
chrome://serviceworker-internals/
Como podemos acordar os funcionários do serviço mesmo com o navegador fechado.
Observação:-
Para isso específico podemos usar push para ativar, mas para esse uso deve-se dar permissão de Notificação ao Navegador, caso contrário não tem como.
Outras formas são relevantes quando o navegador ainda está aberto
1. buscar Evento
self.addEventListener('fetch', event => { // Handle fetch event });
2. Mensagem
self.addEventListener('message', (event) => { // Handle message Event })
3. Empurrar
self.addEventListener('push', (event) => { // Handle Push Event })
4. Evento de sincronização
self.addEventListener('sync', (event) => { // handle background Sync Event })
Referência
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3