Tôi đã cố gắng sử dụng nhân viên dịch vụ cho (có vẻ như giờ & giờ), để đính kèm một tiêu đề đơn giản cho tất cả các yêu cầu. Những gì bực bội là, nó loại công việc.
Nỗ lực 1:
self.addEventListener("fetch", event => {
const modifiedHeaders = new Headers({
...event.request.headers,
'API-Key': '000000000000000000001'
});
const modifiedRequest = new Request(event.request, {
headers: modifiedHeaders,
});
event.respondWith((async () => {
return fetch(modifiedRequest);
})());
});
Đoạn mã trên hoạt động cho các tệp HTML tuy nhiên đối với các tệp CSS & JS tôi gặp lỗi sau
ReferenceError: tiêu đề không được xác định
Nếu tôi tắt yêu cầu tiêu đề, trang sẽ tải hình ảnh và javascript và tôi có thể tương tác với nó như bình thường.
Cố gắng 2:
var req = new Request(event.request.url, {
headers: {
...event.request.headers,
'API-Key': '000000000000000000001'
},
method: event.request.method,
mode: event.request.mode,
credentials: event.request.credentials,
redirect: event.request.redirect,
referrer: event.request.referrer,
referrerPolicy: event.request.referrerPolicy,
bodyUsed: event.request.bodyUsed,
cache: event.request.cache,
destination: event.request.destination,
integrity: event.request.integrity,
isHistoryNavigation: event.request.isHistoryNavigation,
keepalive: event.request.keepalive
});
Nỗ lực này, tôi chỉ đơn giản xây dựng một yêu cầu mới, bao gồm thành công tiêu đề mới trên các yêu cầu tệp CSS & JS. Tuy nhiên, khi tôi thực hiện POST hoặc chuyển hướng, mọi thứ sẽ ngừng hoạt động và hoạt động lạ.
Cách tiếp cận chính xác cho điều này là gì? Tôi cảm thấy rằng nỗ lực 1 là con đường tốt hơn, nhưng dường như tôi không thể tạo đối tượng Tiêu đề theo yêu cầu bất kể tôi làm gì.
Phiên bản chrome tôi đang sử dụng là
Phiên bản 78.0.3904,70 (Bản dựng chính thức) (64-bit)
Trang web là một công cụ dành cho nhà phát triển nội bộ nên không yêu cầu khả năng tương thích trình duyệt chéo. Vì vậy, tôi rất vui khi tải bất kỳ libs bổ sung / kích hoạt các tính năng thử nghiệm, v.v.