Después de eliminar /serviceworker.js
de mi directorio raíz, Chrome aún ejecuta el trabajador de servicio que eliminé de mi raíz web. ¿Cómo desinstalo el trabajador de servicio de mi sitio web y Chrome para poder volver a iniciar sesión en mi sitio web?
He rastreado el problema hasta el mecanismo de caché de Service Work y solo quiero eliminarlo por ahora hasta que tenga tiempo de depurarlo. El script de inicio de sesión que estoy usando redirige a los servidores de Google para que puedan iniciar sesión en su cuenta de Google. Pero todo lo que obtengo de la página login.php es un ERR_FAILED
mensaje.
html
google-chrome
service-worker
Mark Tomlin
fuente
fuente
Respuestas:
Retirar a los trabajadores del servicio mediante programación
Puede eliminar trabajadores del servicio mediante programación de esta manera:
Documentos: getRegistrations , cancelar registro
Eliminación de trabajadores del servicio a través de la interfaz de usuario
También puede eliminar trabajadores del servicio en la pestaña Aplicación en Chrome Devtools.
fuente
También puede ir a la URL: chrome: // serviceworker-internals / y cancelar el registro de un serviceworker desde allí.
fuente
document.querySelectorAll(".unregister").forEach(item=>item.click())
Puede hacerlo a través de la Herramienta para desarrolladores de Chrome , así como Programatic .
Encuentre todas las instancias en ejecución o trabajadores de servicio escribiendo
en una pestaña nueva y luego seleccione el trabajador de servicio que desea anular.
Abra Herramientas de desarrollo (F12) y seleccione Aplicación. Entonces tambien
o
Programáticamente
fuente
En Google Chrome, puede ir a Herramientas para desarrolladores (F12) -> Aplicación -> Trabajador de servicio y anular el registro de los trabajadores de servicio de la lista para ese dominio específico.
Este método es efectivo en el modo de desarrollo de un sitio y, en su mayoría, se ejecuta en el
localhost
que puede necesitar para el desarrollo de otro proyecto.fuente
Debe detectar dos API en sus dispositivos: getRegistrations y getRegistration . El trabajador de servicio no tiene un conjunto único de API en todas las plataformas. Por ejemplo, algunos navegadores solo tienen un
navigator.serviceWorker.getRegistration
, nonavigator.serviceWorker.getRegistrations
. Entonces deberías considerar con ambos.fuente
Para su información, en caso de que esté utilizando el navegador Safari de MacOS , hay una forma de cancelar el registro de un trabajador de servicio (pasos e imágenes para Safari 12.1):
Safari> Preferencias ...> Privacidad> Administrar datos del sitio web ...
Ingrese el nombre de dominio (ej. 'Localhost'), haga clic en "Eliminar"
Nota: Además de los trabajadores del servicio, esto también borrará todas las cachés, cookies y bases de datos para este dominio.
fuente
Además de las respuestas ya correctas dadas, si también desea eliminar la caché de SW, puede invocar el siguiente método:
Más en este artículo (Párrafo: "Dar de baja un trabajador de servicio")
Otra posibilidad, a través del navegador, es acceder a la sección "Almacenamiento en caché" y hacer clic en el botón "Borrar datos del sitio":
fuente
desinstalar de forma segura Service Worker
fuente
para detectar trabajador de servicio:
Código para la eliminación del trabajador de servicio:
fuente