self.addEventListener('install', e => { self.skipWaiting() }) self.addEventListener('activate', e => { e.waitUntil(clients.claim()) }) self.addEventListener('fetch', e => { e.respondWith( caches.match(e.request).then(r => r || fetch(e.request).then(res => { const clone = res.clone() caches.open('galikon-v1').then(c => c.put(e.request, clone)) return res }).catch(() => caches.match(e.request))) ) })