diff --git a/src/global.tsx b/src/global.tsx index 11bad45e..626399fb 100644 --- a/src/global.tsx +++ b/src/global.tsx @@ -59,13 +59,25 @@ if (pwa) { }); }); } else if ('serviceWorker' in navigator) { - // eslint-disable-next-line compat/compat - navigator.serviceWorker.ready - .then(registration => { - registration.unregister(); - return true; - }) - .catch(() => { - console.log('serviceWorker unregister error'); + // unregister service worker + const { serviceWorker } = navigator; + if (serviceWorker.getRegistrations) { + serviceWorker.getRegistrations().then(sws => { + sws.forEach(sw => { + sw.unregister(); + }); + }); + } + serviceWorker.getRegistration().then(sw => { + if (sw) sw.unregister(); + }); + + // remove all caches + if (window.caches && window.caches.keys) { + caches.keys().then(keys => { + keys.forEach(key => { + caches.delete(key); + }); }); + } }