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('baguettebox', "J_BBX");
loadScript('up2k', "J_U2K"); loadScript('up2k', "J_U2K");
if (navigator.serviceWorker)
loadScript('sw'); loadScript('sw');

View file

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

View file

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