From 670f7ecbadc70be6c035657687c6b5b4aa902ae3 Mon Sep 17 00:00:00 2001 From: corgo Date: Sun, 4 Jun 2023 06:42:46 +0000 Subject: [PATCH] always return response --- sw.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sw.js b/sw.js index f68d160..d8c273d 100644 --- a/sw.js +++ b/sw.js @@ -35,27 +35,31 @@ self.addEventListener("install", event => { event.waitUntil(initCache()) }) -self.addEventListener('fetch', event => { +async function handleFetch(request) { const request = event.request if (request.url.includes('/-/frame')) { const url = new URL(request.url) if (url.pathname === '/-/frame') { const html = url.searchParams.get('html') const csp = url.searchParams.get('csp') - event.respondWith(new Response(html, { + return new Response(html, { headers: { 'Content-Type': 'text/html; charset=utf-8', 'Content-Security-Policy': csp, }, - })) - return + }) } } const resp = await caches.match(request) if (resp) { - event.respondWith(resp) + return resp + } else { + return fetch(request) } - return false +} + +self.addEventListener('fetch', event => { + event.respondWith(handleFetch(event.request)) }) self.addEventListener('activate', event => {