3 lines
1.3 KiB
JavaScript
3 lines
1.3 KiB
JavaScript
const CACHE_NAME='myp-platform-backup-v1';const ASSETS_TO_CACHE=['/','/dashboard','/static/css/tailwind.min.css','/static/css/tailwind-dark.min.css','/static/js/ui-components.js','/static/js/offline-app.js','/static/favicon.ico'];self.addEventListener('install',(event)=>{console.log('Backup SW: Installing...');event.waitUntil(caches.open(CACHE_NAME).then((cache)=>{console.log('Backup SW: Caching assets');return cache.addAll(ASSETS_TO_CACHE);}).then(()=>{console.log('Backup SW: Assets cached');return self.skipWaiting();}));});self.addEventListener('activate',(event)=>{console.log('Backup SW: Activating...');event.waitUntil(caches.keys().then((cacheNames)=>{return Promise.all(cacheNames.map((cacheName)=>{if(cacheName!==CACHE_NAME){console.log('Backup SW: Deleting old cache',cacheName);return caches.delete(cacheName);}}));}).then(()=>{console.log('Backup SW: Activated');return self.clients.claim();}));});self.addEventListener('fetch',(event)=>{event.respondWith(caches.match(event.request).then((response)=>{if(response){return response;}
|
|
return fetch(event.request).then((fetchResponse)=>{if(!fetchResponse||fetchResponse.status!==200||fetchResponse.type!=='basic'){return fetchResponse;}
|
|
const responseToCache=fetchResponse.clone();caches.open(CACHE_NAME).then((cache)=>{cache.put(event.request,responseToCache);});return fetchResponse;});}));}); |