Estoy aprendiendo sobre PWA/trabajadores de servicio y la mayoría de los tutoriales usan el modo fuera de línea en la aplicación o en la pestaña de red para alternar el estado en línea. Parece que aún no tienen problemas cuando lo desactivo, mi trabajador de servicio todavía está recuperando del servidor. La única forma verdadera en que puedo hacer que se cargue mi HTML alternativo es detener mi servidor express. También lo intenté sin ningún entorno de nodo y uso el servidor en vivo como una extensión de vscode, pero eso también me da el mismo resultado. Tengo que detener el servidor en vivo para que se dé cuenta de que estoy desconectado.
Revisé mi código de evento de búsqueda en sw.js que coincide con el tutorial, por lo que no veo ninguna razón para que no funcione como otros.
// fetch event self.addEventListener('fetch', function onFetchReceived(evt) { // console.log(`Fetch event received`, evt); evt.respondWith( caches.match(evt.request).then(function fulfilled(cacheResponse) { return ( cacheResponse || fetch(evt.request) .then((fetchResponse) => { console.log('not found in cache, getting from server'); return caches.open(dynamicCacheName).then((cache) => { cache.put(evt.request.url, fetchResponse.clone()); return fetchResponse; }); }) .catch(() => { console.log('offline, unable to retrieve from server.'); return caches.match('/pages/offline.html'); }) ); }) ); });