Tengo el siguiente trabajador de servicio de PWA (serviceWorker.js):
self.addEventListener("fetch", fetchEvent => { fetchEvent.respondWith( caches.match(fetchEvent.request).then(res => { return res || fetch(fetchEvent.request) }) ) })No quiero que se cargue nada cuando no esté conectado, porque es una página web completamente dinámica, por lo que no se puede usar sin conexión. Es por eso que descubrí que tal vez este código sea suficiente para Service Worker, y no necesito ningún archivo en caché. (¿Tal vez fue un error?) Y en realidad funciona bien, al menos cuando abro mi página web, Chrome muestra el mensaje para instalar la aplicación para mi página web, y también funciona bien.
Pero hoy me he dado cuenta que en la Consola hay algunos errores al respecto:
FetchEvent para "https://connect.facebook.net/en_US/fbevents.js" generó una respuesta de error de red: se rechazó la promesa.
No capturado (en promesa) TypeError: no se pudo obtener en serviceWorker.js: 4:21
Y marca esta parte en serviceWorker.js: fetch(fetchEvent.request) , y dice: Failed to fetch .
OBTENGA https://connect.facebook.net/en_US/fbevents.js net::ERR_FAILED
Además, cuando quería hacer algunos cambios en mi píxel de Facebook, decía que no podía encontrar el píxel para mi sitio web. Sin embargo, está ahí. Y la única modificación fue agregar los códigos relacionados con PWA.
Y también me di cuenta que desde ese día las visitas a mi página web mostrada en Google Analytics empezaron a bajar drásticamente. No 0 ahora, pero creo que en 1 o 2 días será 0.
¿Cuál es el problema aquí con el Service Worker? ¿Cómo puedo arreglarlo? ¿Y cuál es la conexión entre este problema y mi Facebook Pixel (y Google Analytics)?
Por supuesto, traté de buscar respuestas, pero no pude encontrar la solución para ese problema en particular.
Por favor, ayúdame a solucionar este problema. Con suerte, la causa raíz es la misma, por lo que una solución resolvería todo.
Gracias de antemano.
Encontré la solución: la publico aquí, así que tal vez alguien también enfrente este problema y quiero ayudar con la solución.
Resultó que tenía que proporcionar una página alternativa sin conexión .
Encontré este artículo, seguí los pasos, creé el archivo offline.html, modifiqué el archivo serviceWorker.js y el problema desapareció, Facebook Pixel vuelve a funcionar correctamente: https://web.dev/offline-fallback-page /