Created
April 16, 2025 11:02
-
-
Save mizchi/23a46a1fd5b1482acba2033ef7c666e5 to your computer and use it in GitHub Desktop.
force js insert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
addEventListener("install", (event) => { | |
event.waitUntil(skipWaiting()); | |
console.log("Service worker install"); | |
}); | |
addEventListener("activate", (event) => { | |
event.waitUntil(self.clients.claim()); | |
console.log("Service worker activate"); | |
}); | |
addEventListener("fetch", (event) => { | |
console.info("[fetch]", event.request.url); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"assets": { "directory": "./public", "binding": "assets", "run_worker_first": true } | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const isNavigate = (request: Request) => { | |
return request.headers.get("accept")?.includes("text/html") ?? false; | |
}; | |
function transformNavigationResponse(response: Response): Response { | |
return new HTMLRewriter() | |
.on("head", { | |
element(element) { | |
element.append(`<script>navigator.serviceWorker.register('/__sw__.js')</script>`, { | |
html: true, | |
}); | |
}, | |
}) | |
.transform(response); | |
} | |
export default { | |
async fetch(request, env, ctx): Promise<Response> { | |
if (isNavigate(request)) { | |
const res = await env.assets.fetch(request); | |
return transformNavigationResponse(res); | |
} | |
return env.assets.fetch(request); | |
}, | |
} satisfies ExportedHandler<Env>; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment