"use strict"; const CACHE_NAME = "offline-cache-v1"; const OFFLINE_URL = '/offline.html'; const filesToCache = [ OFFLINE_URL ]; self.addEventListener("install", (event) => { event.waitUntil( caches.open(CACHE_NAME) .then((cache) => cache.addAll(filesToCache)) ); }); self.addEventListener("fetch", (event) => { if (event.request.mode === 'navigate') { event.respondWith( fetch(event.request) .catch(() => { return caches.match(OFFLINE_URL); }) ); } else { event.respondWith( caches.match(event.request) .then((response) => { return response || fetch(event.request); }) ); } }); self.addEventListener('activate', (event) => { event.waitUntil( caches.keys().then((cacheNames) => { return Promise.all( cacheNames.map((cacheName) => { if (cacheName !== CACHE_NAME) { return caches.delete(cacheName); } }) ); }) ); }); // const CACHE_NAME = 'pds-app-cache-v1'; // const OFFLINE_URL = '/offline.html'; // const urlsToCache = [ // '/', // '/admin', // OFFLINE_URL, // '/icons/icon-192x192.png', // '/icons/icon-512x512.png' // ]; // self.addEventListener('install', event => { // event.waitUntil( // caches.open(CACHE_NAME) // .then(cache => cache.addAll(urlsToCache)) // .then(self.skipWaiting()) // ); // }); // self.addEventListener('activate', event => { // event.waitUntil( // caches.keys().then(keys => // Promise.all(keys.map(key => { // if (key !== CACHE_NAME) return caches.delete(key); // })) // ) // ); // self.clients.claim(); // }); // self.addEventListener('fetch', event => { // if (event.request.mode === 'navigate') { // event.respondWith( // fetch(event.request).catch(() => // caches.match(OFFLINE_URL) // ) // ); // } else { // event.respondWith( // caches.match(event.request).then(response => // response || fetch(event.request) // ) // ); // } // });