2022-10-16 10:23:01 +02:00
|
|
|
|
2022-10-16 12:54:39 +02:00
|
|
|
const pwa_version = "01_hello_world_202210161053"
|
2022-10-16 10:23:01 +02:00
|
|
|
const assets = ["./index.html",
|
|
|
|
"./main.py",
|
|
|
|
"./resources/bootstrap.css",
|
|
|
|
"./resources/bootstrap.js",
|
|
|
|
"./resources/pyscript.css",
|
|
|
|
"./resources/pyscript.js",
|
|
|
|
"./resources/pyscript.py",
|
|
|
|
"./resources/pyscript_bootstrap_templates-0.1.0-py3-none-any.whl",
|
|
|
|
"./resources/pwa.js",
|
|
|
|
"./site.js",
|
|
|
|
]
|
|
|
|
self.addEventListener("install", installEvent => {
|
|
|
|
installEvent.waitUntil(
|
|
|
|
caches.open(pwa_version).then(cache => {
|
|
|
|
cache.addAll(assets).then(r => {
|
|
|
|
console.log("Cache assets downloaded");
|
|
|
|
}).catch(err => console.log("Error caching item", err))
|
|
|
|
console.log(`Cache ${pwa_version} opened.`);
|
|
|
|
}).catch(err => console.log("Error opening cache", err))
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
2022-10-16 12:54:39 +02:00
|
|
|
self.addEventListener('activate', e => {
|
|
|
|
console.log('Service Worker: Activated');
|
|
|
|
});
|
|
|
|
|
|
|
|
self.addEventListener('fetch', event => {
|
|
|
|
if (event.request.method != 'GET')
|
|
|
|
return;
|
|
|
|
event.respondWith((async () => {
|
|
|
|
const cachedResponse = await caches.match(event.request);
|
|
|
|
if (cachedResponse) {
|
|
|
|
return cachedResponse;
|
|
|
|
}
|
|
|
|
|
|
|
|
const response = await fetch(event.request);
|
|
|
|
|
|
|
|
if (!response || response.status !== 200 || response.type !== 'basic') {
|
|
|
|
return response;
|
|
|
|
}
|
|
|
|
|
|
|
|
const responseToCache = response.clone();
|
|
|
|
const cache = await caches.open(pwa_version)
|
|
|
|
await cache.put(event.request, response.clone());
|
|
|
|
|
|
|
|
return response;
|
|
|
|
})());
|
|
|
|
});
|
2022-10-16 10:23:01 +02:00
|
|
|
|