Estoy trabajando en un PWA (con Vanilla JS muy básico) y trato de hacer que se inicie unity webGL incluso cuando el usuario está desconectado. He puesto todos mis archivos en el caché pero todavía no funciona. Soy un principiante en esto, así que estaré muy agradecido por cualquier ayuda al respecto. Aquí está el contenido de mi archivo de trabajador de servicio:
const cacheName = "static" const appFiles = [ "./", "xmlhttprequest-length-computable.min.js?v=1.5.1.22060315", "images/favicon.ico", "images/icon.png", "style.css", "responsiveMinimalTemplateStyles.css", "responsiveMinimalTemplateLoader.js", "manifest.json", "Build/WebGL.loader.js", "Build/WebGL.framework.js", "Build/WebGL.data", "Build/WebGL.wasm" ] self.addEventListener("install", e => { console.log('Install') e.waitUntil( caches.open(cacheName).then(cache => { return cache.addAll(appFiles) }) ) }) self.addEventListener("fetch", e => { e.respondWith( caches.match(e.request).then(response => { return response || fetch(e.request) }) ) })Algunas ideas ?
Ok, soy nuevo en esto, así que me responderé aquí, si puede ayudar a alguien en otro momento. Finalmente encontré mi respuesta aquí (y, por supuesto, tuve que adaptarla a mi propio código): aplicación web progresiva no detectada (en promesa) TypeError: Failed to fetch
Tuve que completar mi self.addEventListener("fetch", request :
self.addEventListener("fetch", e => { e.respondWith( caches.match(e.request).then(response => { if(response){ console.log('[Service Worker] Récupération de la ressource: '+e.request.url); return response } else { return fetch(e.request).then((response) => { return caches.open(cacheName).then((cache) => { console.log('[Service Worker] Mise en cache de la nouvelle ressource: '+e.request.url) cache.put(e.request, response.clone()) return response }) }) } }) ) })