NavigationPreloadManager: phương thức setHeaderValue()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2022.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Phương thức setHeaderValue() của giao diện NavigationPreloadManager đặt giá trị của header Service-Worker-Navigation-Preload sẽ được gửi cùng với các yêu cầu phát sinh từ thao tác fetch() được thực hiện trong quá trình tải trước navigation của service worker. Phương thức trả về một Promise rỗng phân giải với undefined.
Sự hiện diện của header Service-Worker-Navigation-Preload trong các yêu cầu tải trước cho phép máy chủ cấu hình tài nguyên được trả về khác nhau cho các yêu cầu fetch tải trước so với các yêu cầu fetch thông thường. Directive mặc định được đặt thành true: phương thức này cho phép cấu hình nhiều phản hồi khác nhau cho các yêu cầu tải trước.
Note:
Nếu một phản hồi khác có thể xuất hiện do đặt header này, máy chủ phải đặt Vary: Service-Worker-Navigation-Preload để đảm bảo các phản hồi khác nhau được lưu vào bộ nhớ đệm.
Cú pháp
setHeaderValue(value)
Tham số
value-
Một giá trị chuỗi tùy ý, mà máy chủ đích sử dụng để xác định những gì nên được trả về cho tài nguyên được yêu cầu.
Giá trị trả về
Ngoại lệ
InvalidStateErrorDOMException-
Không có worker hoạt động nào liên kết với registration mà
NavigationPreloadManagernày thuộc về.
Ví dụ
Đoạn code dưới đây minh họa cách giá trị có thể được đặt.
navigator.serviceWorker.ready
.then((registration) =>
registration.navigationPreload.setHeaderValue(newValue),
)
.then(() => console.log("Done!"))
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Service Workers Nightly> # dom-navigationpreloadmanager-setheadervalue> |