Download sw.js from Nerdur/Agent2: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/spaces/Nerdur/Agent2/resolve/main/sw.js
- Command line
-
hf download hf://spaces/Nerdur/Agent2/sw.js
-
curl -L -o sw.js https://huggingface.co/spaces/Nerdur/Agent2/resolve/main/sw.js
1.62 kB
| const CACHE_NAME = 'agentscope-v2'; | |
| const urlsToCache = ['/', './index.html']; | |
| self.addEventListener('install', event => { | |
| event.waitUntil( | |
| caches.open(CACHE_NAME) | |
| .then(cache => cache.addAll(urlsToCache)) | |
| ); | |
| self.skipWaiting(); | |
| }); | |
| self.addEventListener('activate', event => { | |
| event.waitUntil( | |
| caches.keys().then(keys => | |
| Promise.all(keys.filter(key => key !== CACHE_NAME).map(key => caches.delete(key))) | |
| ).then(() => self.clients.claim()) | |
| ); | |
| }); | |
| // Network-first (sa cache fallback-om) za sve GET zahtjeve. | |
| // Zašto: sa "cache-first" strategijom (stara verzija), jednom keširan | |
| // index.html bi ostao zauvijek serviran iz cache-a dok se ručno ne | |
| // promijeni CACHE_NAME ili korisnik ne obriše podatke sajta u browseru - | |
| // novi upload index.html fajla se ne bi vidio bez toga. Network-first | |
| // rješava to prirodno: svaki put kad je uređaj online, traži se svježa | |
| // verzija sa servera; ako fetch uspije, odgovor se i kešira (za offline | |
| // slučaj); ako fetch ne uspije (offline), vraća se posljednja keširana | |
| // verzija. | |
| self.addEventListener('fetch', event => { | |
| if (event.request.method !== 'GET') return; | |
| event.respondWith( | |
| fetch(event.request) | |
| .then(networkResponse => { | |
| const responseClone = networkResponse.clone(); | |
| caches.open(CACHE_NAME).then(cache => cache.put(event.request, responseClone)); | |
| return networkResponse; | |
| }) | |
| .catch(() => caches.match(event.request).then(cached => cached || caches.match('./index.html'))) | |
| ); | |
| }); | |