【发布时间】:2022-09-14 01:02:53
【问题描述】:
我正在使用 Cloudflare Workers (JS) 为 Service Worker 开发代码。 我只想为 HTML 请求触发 Service Worker,这样我就可以优化正在评估的请求数量。现在我正在使用这段代码:
addEventListener(\'fetch\', async event => {
if (event.request.method === \'GET\' && event.request.headers.get(\'accept\').includes(\'text/html\')) {
event.respondWith(handleRequest(event.request));
}
});
async function handleRequest(request) {
const response = await fetch(request);
// Clone the response so that it\'s no longer immutable
const newResponse = new Response(response.body, response);
// Add a custom header with a value
newResponse.headers.append(\'x-h-w\', \'hello world\');
return newResponse;
}
虽然它只是将自定义标头添加到与 HTML 元素关联的请求中,但 Service Worker 正在评估来自网站的每个请求(样式、图像、脚本等)。
有没有办法只评估 HTML 请求? (不消耗配额来评估其他类型的请求)
标签: javascript service-worker cloudflare-workers