This commit is contained in:
Til Schmitter 2026-06-21 10:39:49 +02:00
parent 3788b9b132
commit 5a33c4cd8a
3 changed files with 91 additions and 87 deletions

View file

@ -33,6 +33,7 @@ function jsldp(a, b) {
}
loadScript('baguettebox', "J_BBX");
loadScript('up2k', "J_U2K");
if (navigator.serviceWorker)
loadScript('sw');

View file

@ -1,8 +1,7 @@
// service worker. required for PWAs
// https://www.digitalapplied.com/blog/progressive-web-apps-2026-pwa-performance-guide
// Register service worker on page load
console.log('sw.js')
if ('serviceWorker' in navigator) {
// modern syntax allowed here, only supported browsers load this file
console.log('sw load')
self.addEventListener("fetch", (event) => {
// Regular requests not related to Web Share Target.
@ -52,4 +51,3 @@ if ('serviceWorker' in navigator) {
const cache = await caches.open("files");
await cache.addAll(resources);
};
}

View file

@ -2362,7 +2362,10 @@ function setColor (color) {
pbar.drawpos();
vbar.draw();
}
var accent = sread('accent');
var accent = "";
if(sread != undefined)
accent = sread('accent');
var tcolor = QS('meta[name=theme-color]');
if(tcolor)
tcolor = tcolor.content;
@ -2448,13 +2451,14 @@ function xhrchk(xhr, prefix, e404, lvl, tag) {
return fun(0, prefix + xhr.status + ": " + errtxt, tag);
}
if (navigator.serviceWorker){
// register service worker
// ToDo: set http header: Service-Worker-Allowed: /
// otherwise it will fail to register
// https://stackoverflow.com/questions/49084718/how-exactly-add-service-worker-allowed-to-register-service-worker-scope-in-upp
window.addEventListener('load', async () => {
window.addEventListener('load', function() {
try {
const registration = await navigator.serviceWorker.register("/.cpr/w/sw.js", {
var registration = navigator.serviceWorker.register("/.cpr/w/sw.js", {
scope: "/",
});
if (registration.installing) {
@ -2465,7 +2469,7 @@ window.addEventListener('load', async () => {
console.log("Service worker active");
}
} catch (error) {
console.error(`Registration failed with ${error}`);
console.error("Registration failed with " + error);
}
});
@ -2476,15 +2480,16 @@ if(ebi('inst')){
installPrompt = e;
ebi('inst').removeAttribute("hidden");
});
ebi('inst').onclick = async function(){
ebi('inst').onclick = function(){
if (!installPrompt) {
return;
}
const result = await installPrompt.prompt();
console.log(`Install prompt was: ${result.outcome}`);
var result = installPrompt.prompt();
console.log("Install prompt was: " + result.outcome);
installPrompt = null;
ebi('inst').setAttribute("hidden", "");
}
}
}
J_UTL = 2;