-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsw.js
More file actions
18 lines (18 loc) · 774 Bytes
/
Copy pathsw.js
File metadata and controls
18 lines (18 loc) · 774 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const CACHE = 'monbudget-v8';
const ASSETS = ['/pr_perso/', '/pr_perso/index.html', '/pr_perso/manifest.json'];
self.addEventListener('install', e => {
e.waitUntil(caches.open(CACHE).then(c => c.addAll(ASSETS)));
self.skipWaiting();
});
self.addEventListener('activate', e => {
e.waitUntil(caches.keys().then(keys => Promise.all(keys.filter(k=>k!==CACHE).map(k=>caches.delete(k)))));
self.clients.claim();
});
self.addEventListener('fetch', e => {
// Network first pour index.html, cache first pour le reste
if (e.request.url.includes('index.html') || e.request.url.endsWith('/pr_perso/')) {
e.respondWith(fetch(e.request).catch(() => caches.match(e.request)));
} else {
e.respondWith(caches.match(e.request).then(r => r || fetch(e.request)));
}
});