mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 06:43:24 +00:00
sw
This commit is contained in:
72
src/sw.js
72
src/sw.js
@@ -16,24 +16,7 @@ if (workbox) {
|
|||||||
]
|
]
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
workbox.routing.registerRoute(
|
|
||||||
/\.(?:png|gif|jpg|jpeg|svg)$/,
|
|
||||||
workbox.strategies.cacheFirst({
|
|
||||||
cacheName: 'images',
|
|
||||||
plugins: [
|
|
||||||
new workbox.expiration.Plugin({
|
|
||||||
maxEntries: 60,
|
|
||||||
maxAgeSeconds: 30 * 24 * 60 * 60 // 30 Days
|
|
||||||
})
|
|
||||||
]
|
|
||||||
})
|
|
||||||
);
|
|
||||||
workbox.routing.registerRoute(
|
|
||||||
/\.(?:js|css)$/,
|
|
||||||
workbox.strategies.staleWhileRevalidate({
|
|
||||||
cacheName: 'static-resources'
|
|
||||||
})
|
|
||||||
);
|
|
||||||
try {
|
try {
|
||||||
workbox.googleAnalytics.initialize();
|
workbox.googleAnalytics.initialize();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -43,38 +26,37 @@ if (workbox) {
|
|||||||
console.log('Boo! Workbox didn\'t load 😬');
|
console.log('Boo! Workbox didn\'t load 😬');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
self.addEventListener('message', event => {
|
self.addEventListener('message', event => {
|
||||||
if (!event.data) {
|
if (!event.data) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (event.data) {
|
switch (event.data) {
|
||||||
case 'skipWaiting':
|
case 'skipWaiting':
|
||||||
self.skipWaiting();
|
self.skipWaiting();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// NOOP
|
// NOOP
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const OFFLINE_URL = '/';
|
const OFFLINE_URL = '/';
|
||||||
self.addEventListener('fetch', function(event) {
|
self.addEventListener('fetch', function(event) {
|
||||||
console.log('Handling fetch event for', event.request.url);
|
console.log('Handling fetch event for', event.request.url);
|
||||||
|
|
||||||
event.respondWith(
|
event.respondWith(
|
||||||
caches.match(event.request).then(function(response) {
|
caches.match(event.request).then(function(response) {
|
||||||
if (response) {
|
if (response) {
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
return fetch(event.request)
|
return fetch(event.request)
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
return response;
|
return response;
|
||||||
})
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
return caches.match(OFFLINE_URL);
|
return caches.match(OFFLINE_URL);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user