Spaces:
Running
Running
| /*! coi-serviceworker v0.1.7 - By Guido Zuidhof, licensed under MIT */ | |
| let coepCredentialless = false; | |
| if (typeof window === 'undefined') { | |
| self.addEventListener("install", () => self.skipWaiting()); | |
| self.addEventListener("activate", (event) => event.waitUntil(self.clients.claim())); | |
| self.addEventListener("message", (ev) => { | |
| if (!ev.data) return; | |
| if (ev.data.type === "deregister") { | |
| self.registration.unregister().then(() => self.clients.matchAll().then(clients => clients.forEach(client => client.navigate(client.url)))); | |
| } | |
| }); | |
| self.addEventListener("fetch", function (event) { | |
| const { request } = event; | |
| if (request.cache === "only-if-cached" && request.mode !== "same-origin") return; | |
| event.respondWith( | |
| fetch(request).then((response) => { | |
| if (response.status === 0) return response; | |
| const newHeaders = new Headers(response.headers); | |
| newHeaders.set("Cross-Origin-Embedder-Policy", coepCredentialless ? "credentialless" : "require-corp"); | |
| if (!coepCredentialless) newHeaders.set("Cross-Origin-Resource-Policy", "cross-origin"); | |
| newHeaders.set("Cross-Origin-Opener-Policy", "same-origin"); | |
| return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHeaders }); | |
| }).catch((e) => console.error(e)) | |
| ); | |
| }); | |
| } else { | |
| (() => { | |
| const re = window.location.reload.bind(window.location); | |
| const n = navigator; | |
| if (n.serviceWorker && n.serviceWorker.controller) { | |
| n.serviceWorker.controller.postMessage({ type: "coep_credentialless", value: coepCredentialless }); | |
| } else { | |
| n.serviceWorker && n.serviceWorker.register(window.document.currentScript.src).then((registration) => { | |
| registration.addEventListener("updatefound", () => re()); | |
| if (registration.active && !n.serviceWorker.controller) re(); | |
| }); | |
| } | |
| })(); | |
| } |