var ribbonContent = "https://www.lumens.com/on/demandware.static/Sites-Lumens-Site/-/default/v1687243585531/js/ribbonContent.js" // Set a name for the current cache var cacheName = 'lu-v1'; // Default files to always cache var cacheFiles = ['https://connect.facebook.net/en_US/all.js', ribbonContent, 'https://apis.google.com/js/platform.js?onload=renderBadge'] self.addEventListener('install', function(e) { self.skipWaiting(); // e.waitUntil Delays the event until the Promise is resolved e.waitUntil( // Open the cache caches.open(cacheName).then(function(cache) { // Add all the default files to the cache return cache.addAll(cacheFiles); }) ); // end e.waitUntil }); self.addEventListener('activate', function(e) { e.waitUntil( // Get all the cache keys (cacheName) caches.keys().then(function(cacheNames) { return Promise.all(cacheNames.map(function(thisCacheName) { // If a cached item is saved under a previous cacheName if (thisCacheName !== cacheName) { // Delete that cached file return caches.delete(thisCacheName); } })); }) ); // end e.waitUntil }); self.addEventListener('fetch', function(e) { // e.respondWidth Responds to the fetch event e.respondWith( // Check in cache for the request being made caches.match(e.request) .then(function(response) { // If the request is in the cache if ( response ) { // Return the cached version return response; } else return fetch(e.request); }) // end caches.match(e.request) ); // end e.respondWith });