| Server IP : 162.214.74.102 / Your IP : 216.73.217.80 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/lrsys/public_html/lrsys_apps/hexagon/ |
Upload File : |
const CACHE_NAME = 'helpdesk-hexagon-cache-v2';
const OFFLINE_URL = '/offline.html'; // Página de fallback offline (opcional)
const TARGET_URL = '/?ng=module_helpdesk/ticket/listAll';
self.addEventListener('message', event => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
self.addEventListener('install', event => {
console.log('Service Worker: Installing...');
self.skipWaiting();
});
self.addEventListener('activate', event => {
console.log('Service Worker: Activating...');
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheName !== CACHE_NAME) {
console.log('Service Worker: Deleting old cache:', cacheName);
return caches.delete(cacheName);
}
})
);
})
);
return self.clients.claim();
});
self.addEventListener('fetch', event => {
if (event.request.method === 'GET') {
event.respondWith(
fetch(event.request)
.then(networkResponse => {
if (networkResponse && networkResponse.status === 200 && networkResponse.type === 'basic') {
const clonedResponse = networkResponse.clone();
caches.open(CACHE_NAME).then(cache => {
cache.put(event.request, clonedResponse);
});
}
return networkResponse;
})
.catch(() => {
return caches.match(event.request).then(cachedResponse => {
if (cachedResponse) {
return cachedResponse;
}
return new Response('Not Found', { status: 404 });
});
})
);
}
});
// self.addEventListener('fetch', event => {
// console.log('Service Worker: Fetching:', event.request.url);
// if (event.request.method === 'GET') {
// event.respondWith(
// caches.match(event.request).then(cachedResponse => {
// if (cachedResponse) {
// console.log('Service Worker: Returning cached response:', event.request.url);
// return cachedResponse;
// }
// console.log('Service Worker: Fetching from network:', event.request.url);
// return caches.open(CACHE_NAME).then(cache => {
// return fetch(event.request).then(networkResponse => {
// // Verifique se a resposta da rede é válida antes de cachear
// if (!networkResponse || networkResponse.status !== 200 || networkResponse.type !== 'basic') {
// console.log('Service Worker: Network request failed or not a basic request:', event.request.url);
// return networkResponse;
// }
// console.log('Service Worker: Caching new response:', event.request.url);
// cache.put(event.request, networkResponse.clone());
// return networkResponse;
// }).catch(error => {
// console.error('Service Worker: Network fetch failed:', error);
// // Retornar a página offline se a rede falhar e não houver cache
// return caches.match(OFFLINE_URL);
// });
// });
// }).catch(error => {
// console.error('Service Worker: Cache match failed:', error);
// // Retornar a página offline se houver um erro ao buscar no cache
// return caches.match(OFFLINE_URL);
// })
// );
// }
// });
// Lidar com mensagens do cliente
// self.addEventListener('message', async event => {
// if (event.data && event.data.type === 'UPDATE_CACHE') {
// const currentUrl = event.data.url;
// try {
// const cache = await caches.open(CACHE_NAME);
// const response = await fetch(currentUrl);
// if (response.status === 200) {
// await cache.put(currentUrl, response.clone());
// event.ports[0].postMessage({ status: 'success', url: currentUrl });
// } else {
// event.ports[0].postMessage({ status: 'error', message: `Erro ao buscar a URL: ${response.status}` });
// }
// } catch (error) {
// event.ports[0].postMessage({ status: 'error', message: `Erro ao atualizar o cache: ${error}` });
// }
// }
// });