const CACHE_NAME = 'av-almacen-v40-auth'; const ARCHIVOS = [ './', './index.html', './manifest.json', './html5-qrcode.min.js' ]; self.addEventListener( 'install', event => { event.waitUntil( caches .open(CACHE_NAME) .then( cache => cache.addAll( ARCHIVOS ) ) ); self.skipWaiting(); } ); self.addEventListener( 'activate', event => { event.waitUntil( caches .keys() .then( claves => Promise.all( claves .filter( clave => clave !== CACHE_NAME ) .map( clave => caches.delete( clave ) ) ) ) ); self.clients.claim(); } ); self.addEventListener( 'fetch', event => { const request = event.request; if ( request.mode === 'navigate' ) { event.respondWith( fetch( request ) .then( respuesta => { const copia = respuesta.clone(); caches .open( CACHE_NAME ) .then( cache => cache.put( './index.html', copia ) ); return respuesta; } ) .catch( () => caches.match( './index.html' ) ) ); return; } event.respondWith( caches .match( request, { ignoreSearch: true } ) .then( respuesta => { if ( respuesta ) { return respuesta; } return fetch( request ); } ) ); } );