/* global noConnection:false, Promise:false */ var CACHE_NAME = 'youcount-cache-1.3'; 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!'); } });