var CACHE_NAME = "inventur_cache-v1"; var urlsToCache = [ '.', 'js/app.js', 'js/vue.js', 'js/accounting.min.js', 'js/moment-with-locales.min.js', 'js/model/article.js', 'js/model/inventory_article.js' ]; self.addEventListener('install', function(event){ event.waitUntil( caches.open(CACHE_NAME) .then(function(cache){ console.log("Cache opened"); return cache.addAll(urlsToCache); }) ); }); self.addEventListener('fetch', function(event){ event.respondWith( caches.match(event.request) .then(function(response){ if (response) { return response; } var fetchRequest = event.request.clone(); return fetch(fetchRequest).then( function(response){ if(!response || response.status !== 200 || response.type !== 'basic') { return response; } var responseToCache = response.clone(); caches.open(CACHE_NAME) .then(function(cache){ cache.put(event.request, responseToCache); }); return response; } ) }) ); });