- Creazione "AbitareGliIblei"
- Mappa Interattiva con i markers
This commit is contained in:
@@ -34,7 +34,7 @@ self.addEventListener('activate', (event) => {
|
||||
});
|
||||
|
||||
|
||||
const VersioneApp = '1.0.47';
|
||||
const VersioneApp = "1.0.55";
|
||||
|
||||
console.log(' [ VER-' + VersioneApp + ' ] _---------________------ PAO: this is my custom service worker');
|
||||
|
||||
@@ -165,40 +165,54 @@ if (workbox) {
|
||||
console.log(event.data);
|
||||
});
|
||||
|
||||
self.addEventListener('fetch', function (event) {
|
||||
// console.log('[Service Worker] Fetching something ....', event);
|
||||
// console.log('event.request.cache=', event.request.cache)
|
||||
self.addEventListener('fetch', event => {
|
||||
// Ignora le richieste non-GET
|
||||
if (event.request.method !== 'GET') return;
|
||||
|
||||
// Gestisci il caso 'only-if-cached'
|
||||
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);
|
||||
|
||||
event.respondWith(handleFetch(event.request));
|
||||
});
|
||||
|
||||
async function handleFetch(request) {
|
||||
try {
|
||||
// Prova prima a ottenere dalla cache
|
||||
const cachedResponse = await caches.match(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 responseToCache = response.clone();
|
||||
const cache = await caches.open(DYNAMIC_CACHE)
|
||||
await cache.put(event.request, responseToCache);
|
||||
}
|
||||
// Se non è in cache, fai la richiesta di rete
|
||||
const response = await fetch(request);
|
||||
|
||||
// Controlla se la risposta è valida
|
||||
if (!response || response.status !== 200 || response.type !== 'basic') {
|
||||
return response;
|
||||
} catch (e) {
|
||||
console.error('[Service Worker] fetch error', e);
|
||||
return new Response('fetch error', { status: 500 });
|
||||
}
|
||||
})());
|
||||
});
|
||||
|
||||
// Salva in cache se il caching dinamico è abilitato
|
||||
if (ENABLE_DYNAMIC_CACHING) {
|
||||
const cache = await caches.open(DYNAMIC_CACHE);
|
||||
cache.put(request, response.clone());
|
||||
}
|
||||
|
||||
return response;
|
||||
} catch (error) {
|
||||
console.error('[Service Worker] Fetch error:', error);
|
||||
return new Response('Network error', { status: 503, statusText: 'Service Unavailable' });
|
||||
}
|
||||
}
|
||||
|
||||
// Funzione di utilità per il logging (decommentare se necessario)
|
||||
// function logFetchDetails(request) {
|
||||
// console.log('[Service Worker] Fetching:', request.url);
|
||||
// console.log('Cache mode:', request.cache);
|
||||
// console.log('Request mode:', request.mode);
|
||||
// }
|
||||
|
||||
|
||||
self.addEventListener('sync', event => {
|
||||
console.log('[Service Worker V5] Background syncing', event);
|
||||
|
||||
Reference in New Issue
Block a user