var staticCacheName = "pwa-v" + new Date().getTime();
var filesToCache = [
// '/offline',
//
// '/public/images/icons/icon-72x72.png',
// '/public/images/icons/icon-96x96.png',
// '/public/images/icons/icon-128x128.png',
// '/public/images/icons/icon-144x144.png',
// '/public/images/icons/icon-152x152.png',
// '/public/images/icons/icon-192x192.png',
// '/public/images/icons/icon-384x384.png',
// '/public/images/icons/icon-512x512.png',
//
// '/public/css/bootstrap.min.css',
// '/public/frontend/infixlmstheme/css/owl.carousel.min.css',
// '/public/frontend/infixlmstheme/css/magnific-popup.css',
// '/public/frontend/infixlmstheme/css/fontawesome.css',
// '/public/frontend/infixlmstheme/css/themify-icons.css',
// '/public/frontend/infixlmstheme/css/flaticon.css',
// '/public/frontend/infixlmstheme/css/nice-select.css',
// '/public/frontend/infixlmstheme/css/animate.min.css',
// '/public/css/toastr.css',
// '/public/frontend/infixlmstheme/css/style.css',
//
// '/public/js/jquery-3.5.1.min.js',
// '/public/js/bootstrap.bundle.min.js',
// '/public/frontend/infixlmstheme/js/owl.carousel.min.js',
// '/public/frontend/infixlmstheme/js/waypoints.min.js',
// '/public/frontend/infixlmstheme/js/jquery.counterup.min.js',
// '/public/frontend/infixlmstheme/js/imagesloaded.pkgd.min.js',
// '/public/frontend/infixlmstheme/js/wow.min.js',
// '/public/frontend/infixlmstheme/js/barfiller.js',
// '/public/frontend/infixlmstheme/js/jquery.slicknav.js',
// '/public/frontend/infixlmstheme/js/jquery.magnific-popup.min.js',
// '/public/frontend/infixlmstheme/js/jquery.ajaxchimp.min.js',
// '/public/frontend/infixlmstheme/js/parallax.js',
// '/public/frontend/infixlmstheme/js/mail-script.js',
// '/public/frontend/infixlmstheme/js/main.js',
// '/public/frontend/infixlmstheme/js/footer.js',
// '/public/js/toastr.js',
];
// Cache on install
self.addEventListener("install", event => {
this.skipWaiting();
event.waitUntil(
caches.open(staticCacheName)
.then(cache => {
return cache.addAll(filesToCache);
})
)
});
// Clear cache on activate
self.addEventListener('activate', event => {
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames
.filter(cacheName => (cacheName.startsWith("pwa-")))
.filter(cacheName => (cacheName !== staticCacheName))
.map(cacheName => caches.delete(cacheName))
);
})
);
});
// Serve from Cache
self.addEventListener("fetch", event => {
event.respondWith(
caches.match(event.request)
.then(response => {
return response || fetch(event.request);
})
.catch(() => {
return caches.match('offline');
})
)
});