2022-03-30 08:53:45 +02:00

58 lines
1.8 KiB
JavaScript

importScripts(
'https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js'
);
if (workbox) {
console.log(`Super ! Workbox est chargé 🎉`);
workbox.routing.registerRoute(
/\.(?:html|js|css|png|jpg|jpeg|svg|gif)$/,
new workbox.strategies.StaleWhileRevalidate()
);
}
//Installation du service worker
self.addEventListener('install', (e) => {
console.log('[Service Worker] Installation');
var cacheName = 'CTS_v2';
var appShellFiles = [
'index.php',
'assets/css/index.css',
'assets/js/index.js',
'assets/vendors/jquery/jquery-3.6.0.min.js'
];
e.waitUntil(
caches.open(cacheName).then((cache) => {
console.log('[Service Worker] Mise en cache globale: app shell et contenu')
return cache.addAll(appShellFiles);
}))
});
//fetch event afin de répondre quand on est en mode hors ligne.
self.addEventListener('fetch', (e) => {
e.respondWith(
caches.open('ma_sauvegarde').then(function(cache) {
return cache.match(e.request).then(function (response) {
return response || fetch(e.request).then(function(response) {
cache.put(e.request, response.clone());
return response;
});
});
})
);
});
/*
self.addEventListener('fetch', (e) => {
e.respondWith(
caches.match(e.request).then((r) => {
console.log('[Service Worker] Récupération de la ressource: '+e.request.url);
return r || fetch(e.request).then((response) => {
return caches.open(cacheName).then((cache) => {
console.log('[Service Worker] Mise en cache de la nouvelle ressource: '+e.request.url);
cache.put(e.request, response.clone());
return response;
});
});
})
);
});*/