From d70ac0952b7c21b15ec26e504be86bc42c88730e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=B8=85?= Date: Mon, 19 Aug 2019 21:20:54 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=94=20better=20sw=20unregister?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/global.tsx | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) 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); + }); }); + } }