youcount.github.io/sw.js

44 lines
1.1 KiB
JavaScript

/* global noConnection:false, Promise:false */
var CACHE_NAME = 'youcount-cache-1.4';
var urlsToCache = [
'/index.html',
'/images/social.png',
'/js/script.js'
];
self.addEventListener('install', function (event) {
event.waitUntil(
caches.open(CACHE_NAME)
.then(function (cache) {
return cache.addAll(urlsToCache);
})
);
});
self.addEventListener('activate', function (event) {
event.waitUntil(
caches.keys().then(function (cacheNames) {
return Promise.all(
cacheNames.filter(function (cacheName) {
return cacheName != CACHE_NAME;
}).map(function (cacheName) {
return caches.delete(cacheName);
})
);
})
);
});
self.addEventListener('fetch', function (event) {
try {
event.respondWith(
caches.match(event.request)
.then(function (response) {
if (response) {
return response;
}
return fetch(event.request);
})
);
} catch (err) {
noConnection('Service Worker failed to fetch!');
}
});