NavigationPreloadManager: phương thức getState()
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 getState() của giao diện NavigationPreloadManager trả về một Promise phân giải thành đối tượng với các thuộc tính cho biết liệu tải trước có được bật hay không và giá trị nào sẽ được gửi trong header HTTP Service-Worker-Navigation-Preload.
Cú pháp
getState()
Tham số
Không có.
Giá trị trả về
Một Promise phân giải với đối tượng có các thuộc tính sau:
enabled-
truenếu tải trước được bật, vàfalsenếu không. headerValue-
Một chuỗi chứa giá trị sẽ được gửi trong header HTTP
Service-Worker-Navigation-Preloadsau khi tải trướcfetch(). Giá trị mặc định làtruetrừ khi giá trị được thay đổi bằngNavigationPreloadManager.setHeaderValue().
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 cho thấy yêu cầu trạng thái hiện tại, được thực hiện sau khi service worker đã sẵn sàng.
navigator.serviceWorker.ready
.then((registration) => registration.navigationPreload.getState())
.then((state) => {
console.log(state.enabled); // boolean
console.log(state.headerValue); // string
})
.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-getstate> |