Nuestra plataforma es angular antigua (v4) y usamos un archivo JavaScript simple (sw.js) para registrar al trabajador del servicio en la página html del índice. Veo que instalar y activar funcionan bien. Solo eventos simples [para probar]
self.addEventListener('install', function(event) { event.waitUntil(self.skipWaiting()); // Activate worker immediately }); self.addEventListener('activate', function(event) { event.waitUntil(self.clients.claim()); // Become available to all pages });Luego, el componente Angular enruta a nuestra página principal a través de router.navigate('pagename') y el navegador incluso enruta a esa página, pero el evento de recuperación del trabajador del servicio no se activa.
self.addEventListener('fetch', event => event.respondWith(onFetch(event)));¿Alguna idea de cómo solucionar este problema? Gracias.
self.addEventListener('fetch', function(event) { event.respondWith( caches.match(event.request) .then(function(response) { // Cache hit - return response if (response) { return response; } return fetch(event.request); } ) ); });