Spaces:
Sleeping
Sleeping
File size: 1,365 Bytes
7b3aac2 eb4179c 7b3aac2 eb4179c 7b3aac2 eb4179c 7b3aac2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | const CACHE_NAME = 'mtextile-v3';
const ASSETS = [
'/',
'/index.html',
'/catalog.html',
'/product.html',
'/cart.html',
'/checkout.html',
'/wishlist.html',
'/profile.html',
'/css/global.css',
'/css/components.css',
'/css/pages.css',
'/js/store.js',
'/js/products.js',
'/js/app.js'
];
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(CACHE_NAME)
.then((cache) => cache.addAll(ASSETS))
);
self.skipWaiting();
});
self.addEventListener('activate', (event) => {
event.waitUntil(
caches.keys().then(keys =>
Promise.all(keys.filter(k => k !== CACHE_NAME).map(k => caches.delete(k)))
)
);
self.clients.claim();
});
self.addEventListener('fetch', (event) => {
// Network First Strategy
event.respondWith(
fetch(event.request)
.then((response) => {
const clone = response.clone();
// Cache the fresh response
caches.open(CACHE_NAME).then(cache => cache.put(event.request, clone));
return response;
})
.catch(() => {
// Return fallback from cache if offline
return caches.match(event.request);
})
);
});
|