From f0952d297de10e4399b35934ee6eca9b8c7970f6 Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Tue, 28 May 2024 00:09:53 +0200 Subject: [PATCH] =?UTF-8?q?risolto=20bug=20che=20non=20funzionava=20pi?= =?UTF-8?q?=C3=B9=20la=20App,=20con=20il=20service=20worker=20non=20faceva?= =?UTF-8?q?=20pi=C3=B9=20le=20fetch=20!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-pwa/custom-service-worker.js | 41 ++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/src-pwa/custom-service-worker.js b/src-pwa/custom-service-worker.js index 531030bd..98c8c902 100755 --- a/src-pwa/custom-service-worker.js +++ b/src-pwa/custom-service-worker.js @@ -146,29 +146,40 @@ if (workbox) { console.log(event.data); }); - self.addEventListener('fetch', (event) => { - if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') return; - - event.respondWith(async () => { - let cachedResponse = await caches.match(event.request); - if (cachedResponse) return cachedResponse; - + self.addEventListener('fetch', function (event) { + console.log('[Service Worker] Fetching something ....', event); + console.log('event.request.cache=', event.request.cache) + if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') { + console.log('SAME ORIGIN!', event); + return; + } + event.respondWith((async () => { + const cachedResponse = await caches.match(event.request); + if (cachedResponse) { + return cachedResponse; + } + + console.log('*** REQUEST', event.request); try { const response = await fetch(event.request); - if (!response || response.status !== 200 || response.type !== 'basic') return response; - - if (ENABLE_DYNAMIC_CACHING) { - const cache = await caches.open(DYNAMIC_CACHE); - cache.put(event.request, response.clone()); + + if (!response || response.status !== 200 || response.type !== 'basic') { + return response; } - + + if (ENABLE_DYNAMIC_CACHING) { + const responseToCache = response.clone(); + const cache = await caches.open(DYNAMIC_CACHE) + await cache.put(event.request, response.clone()); + } + return response; } catch (e) { return ''; } - }); + })()); }); - + self.addEventListener('sync', event => { console.log('[Service Worker V5] Background syncing', event);