Ya no puedo encontrar serviceWorker en el navegador

3 minutos de lectura

desde la nueva actualización de Google Chrome (versión 69.0.3497.92 (compilación oficial) (64 bits)) ya no puedo encontrar el servicio serviceWorker en el Navegador. En realidad, podría registrar mi Service Worker de la siguiente manera, pero ahora aparece el error de que serviceWorker no se puede encontrar en el navegador:

if('serviceWorker' in navigator) {
    /*
    *
    * Register the Service Worker
    *
    * */
    navigator.serviceWorker.register('sw.js').then(function(registration) {
        console.log('Service Worker Registered');
    });

} else console.log('Your browser does not support the Service-Worker!');

¿Cómo puedo volver a usar Service Worker ahora o cómo puedo hacer que se ejecute de nuevo para todas las versiones de Chrome?

  • Gracias por esto. Me olvidé por completo del requerimiento de https también y no pude entender por qué mi primer sitio funcionó (https) y el otro no (http). Son un par de horas que nunca recuperaré. 🤓

    – Raddevus

    12 de febrero de 2021 a las 23:34

Sirve tu página a través de HTTPS o usa localhost. trabajadores de servicio requerir a Contexto seguro.

(página MDN, Página de cromo).

El valor de window.isSecureContext indica si [SecureContext] las características están visibles u ocultas. (Esto es true en un file:// La URL y la API de serviceWorker estarán visibles, pero no funcionará, por supuesto).

  • Oh, sí, tienes toda la razón. Intenté acceder al Service Worker a través de la IP local. Con localhost funciona de nuevo.

    – Información de la dieta

    13 de septiembre de 2018 a las 8:05

  • ¿Alguien sabe cómo permitir esto en Virtual Hosts en mi máquina de desarrollo local? Tengo varios proyectos bajo diferentes dominios .test que apuntan a mi máquina de desarrollo local. Así que estoy en localhost, solo que Chrome no lo ve. ¿O debo usar otro TLD?

    – Dante

    5 de febrero de 2019 a las 8:09

Si está utilizando un host virtual localmente para un dominio que no sea localhost, puede indicarle a Chrome que trate su dominio personalizado como “seguro”.

En la barra de direcciones: chrome://flags/#unsafely-treat-insecure-origin-as-secure

Luego agrega tu dominio como http://my-local-dev-domain.test

Haga clic en habilitar y haga clic en el botón de reinicio.

  • ¡perfecto para mi! Gracias

    – Oduván

    23 de mayo de 2019 a las 9:45

  • respuesta perfecta para mi tambien

    – pabz

    27 mayo 2020 a las 18:25

Otra razón podría ser ejecutar un navegador en modo privado

  • Por favor marque la pregunta y vuelva a hacerla ya que la información proporcionada no es suficiente para comprender y responder.

    – Avinash Raut

    27 de diciembre de 2020 a las 16:15


  • Hola meydlo. Lea Cómo responder e intente editar esto en una respuesta clara y útil.

    – Yunnosch

    28 de diciembre de 2020 a las 7:22

Vaya a la configuración de su vscode en la opción usuario> Extensión, desplácese hacia abajo hasta la configuración del servidor en vivo

configure su host en localhost –ScreenShot
Establecer host en host local

Ahora desplácese hacia abajo y desmarque la opción Usar IP local – Captura de pantalla desmarque IP local

vaya a la configuración de Port json y configure el puerto en 8080 –ScreenShot configuración json
establecer el puerto en 8080
Ir en vivo y comprobar la consola

en lugar de http://192.168.1.105:8080/ ir a http://servidor local:8080/ me funciono

¿Ha sido útil esta solución?