diff --git a/app/index.html b/app/index.html index fc671cd..73891fb 100644 --- a/app/index.html +++ b/app/index.html @@ -2,7 +2,8 @@ - + + { + event.waitUntil( + caches.open(CACHE_NAME).then((cache) => { + return cache.addAll(urlsToCache); + }) + ); +}); + +// self.addEventListener('fetch', (event) => { +// event.respondWith( +// caches.match(event.request).then((response) => { +// if (response) { +// return response; +// } +// return fetch(event.request).then((response) => { +// if (!response || response.status !== 200 || response.type !== 'basic') { +// return response; +// } +// var responseToCache = response.clone(); +// caches.open(CACHE_NAME).then((cache) => { +// cache.put(event.request, responseToCache); +// }); +// return response; +// }); +// }) +// ); +// }); + +self.addEventListener('activate', (event) => { + var cacheWhitelist = ['v1']; + event.waitUntil( + caches.keys().then((cacheNames) => { + return Promise.all( + cacheNames.map((cacheName) => { + if (cacheWhitelist.indexOf(cacheName) === -1) { + return caches.delete(cacheName); + } + }) + ); + }) + ); +}); diff --git a/app/src/main.ts b/app/src/main.ts index 2b8d35b..01c341d 100644 --- a/app/src/main.ts +++ b/app/src/main.ts @@ -2,6 +2,12 @@ import './app.css'; import './index.css'; import App from './App.svelte'; +if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js'); + }); +} + const app = new App({ target: document.getElementById('app') as HTMLElement });