Tengo un PWA con varios idiomas diferentes y me gustaría almacenar en caché solo los archivos específicos del idioma en la instalación. No puedo encontrar una manera de comunicar el idioma al trabajador del servicio durante la instalación. ¿Ideas de cómo podría hacerlo?
Mi código js para iniciar el trabajador del servicio:
navigator.serviceWorker.register('../service-worker.js', { scope: '/' }).then((reg) => { console.log('Service worker registered successfully.', reg); registration = reg; }).catch(function (e) { console.error('Error during service worker registration:', e); });Mi código en el service-worker.js:
self.addEventListener('install', function(event) { messageAllClients('Event-Install'); // Perform install steps event.waitUntil( caches.open(CACHE_NAME).then(function(cache) { messageAllClients('Language detected by the service worker: '+language); messageAllClients('Pre-caching offline page'); return cache.addAll(FILES_TO_CACHE); }) ); self.skipWaiting(); });Las variables se pueden transmitir al trabajador del servicio durante la instalación a través de los atributos GET , como señaló @JeffPosnick en el comentario.