Depois de excluir /serviceworker.js
do meu diretório raiz, o Chrome ainda executa o trabalhador do serviço que eu removi da minha raiz da web. Como desinstalo o técnico de serviço do meu site e do Chrome para que eu possa fazer login novamente no meu site?
Eu rastreei o problema até o mecanismo de cache do Service Work e só quero removê-lo por enquanto até ter tempo para depurá-lo. O script de login que estou usando redireciona para os servidores do Google para que eles acessem a conta do Google. Mas tudo o que recebo da página login.php é uma ERR_FAILED
mensagem.
html
google-chrome
service-worker
Mark Tomlin
fonte
fonte
Respostas:
Remoção de trabalhadores de serviço programaticamente
Você pode remover trabalhadores de serviço programaticamente assim:
Documentos: getRegistrations , cancelar registro
Remoção de trabalhadores de serviço por meio da interface do usuário
Você também pode remover trabalhadores de serviço na guia Aplicativo no Chrome Devtools.
fonte
Você também pode acessar a URL: chrome: // serviceworker-internals / e cancelar o registro de um serviceworker a partir daí.
fonte
document.querySelectorAll(".unregister").forEach(item=>item.click())
Você pode fazer isso usando a Ferramenta de desenvolvedor do Chrome e também de forma programática .
Encontre todas as instâncias em execução ou trabalhador de serviço digitando
em uma nova guia e selecione o técnico que deseja cancelar o registro.
Abra as Ferramentas do desenvolvedor (F12) e selecione Aplicativo. Qualquer então
ou
Programaticamente
fonte
No Google Chrome, você pode acessar Ferramentas do desenvolvedor (F12) -> Aplicativo -> Trabalhador de serviço e cancelar o registro dos trabalhadores de serviço da lista desse domínio específico.
Esse método é eficaz no modo de desenvolvimento de um site e, principalmente, eles são executados nos
localhost
quais você pode precisar para o desenvolvimento de outros projetos.fonte
Você deve detectar duas API em seus dispositivos: getRegistrations e getRegistration . O trabalhador do serviço não possui um conjunto exclusivo de APIs em todas as plataformas. Por exemplo, alguns navegadores têm apenas um
navigator.serviceWorker.getRegistration
, nãonavigator.serviceWorker.getRegistrations
. Então você deve considerar com ambos.fonte
Para sua informação, caso esteja usando o navegador MacOS Safari , existe uma maneira de cancelar o registro forçado de um trabalhador de serviço (etapas e imagens para o Safari 12.1):
Safari> Preferências ...> Privacidade> Gerenciar dados do site ...
Digite o nome do domínio (ex. 'Localhost'), clique em "Remover"
Nota: Além dos funcionários de serviço, isso também apagará todos os caches, cookies e bancos de dados desse domínio.
fonte
Além das respostas já corretas fornecidas, se você também deseja excluir o cache do SW, pode invocar o seguinte método:
Mais neste artigo (parágrafo: "Cancelar o registro de um trabalhador de serviço")
Outra possibilidade, através do navegador, é acessando a seção "Armazenamento em cache" e clique no botão "Limpar dados do site":
fonte
desinstalar com segurança o Service Worker
fonte
para detectar trabalhador de serviço:
Código para exclusão do trabalhador de serviço:
fonte