(function () { var swRegistration; var newWorker; var isRefreshing = false; var pathname = window.location.pathname; var deferredPrompt; if ('serviceWorker' in navigator) { console.info('Service Worker is supported'); window.addEventListener('load', function () { navigator.serviceWorker.register('/sw.js', { updateViaCache: 'all', }).then(function (registration) { swRegistration = registration; console.log('[SW] registration successful with scope: ', swRegistration.scope); console.log('[SW] is waiting: ', swRegistration.waiting); navigator.serviceWorker.addEventListener('controllerchange', function () { if (isRefreshing) { return; } window.location.reload(); isRefreshing = true; }); }, function (err) { console.log('[SW] registration failed: ', err); }); }); } })();