always return response

shared-server
corgo 3 years ago
parent a16edf3ecf
commit 670f7ecbad

16
sw.js

@ -35,27 +35,31 @@ self.addEventListener("install", event => {
event.waitUntil(initCache()) event.waitUntil(initCache())
}) })
self.addEventListener('fetch', event => { async function handleFetch(request) {
const request = event.request const request = event.request
if (request.url.includes('/-/frame')) { if (request.url.includes('/-/frame')) {
const url = new URL(request.url) const url = new URL(request.url)
if (url.pathname === '/-/frame') { if (url.pathname === '/-/frame') {
const html = url.searchParams.get('html') const html = url.searchParams.get('html')
const csp = url.searchParams.get('csp') const csp = url.searchParams.get('csp')
event.respondWith(new Response(html, { return new Response(html, {
headers: { headers: {
'Content-Type': 'text/html; charset=utf-8', 'Content-Type': 'text/html; charset=utf-8',
'Content-Security-Policy': csp, 'Content-Security-Policy': csp,
}, },
})) })
return
} }
} }
const resp = await caches.match(request) const resp = await caches.match(request)
if (resp) { 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 => { self.addEventListener('activate', event => {

Loading…
Cancel
Save