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

js
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

true nếu tải trước được bật, và false nếu không.

headerValue

Một chuỗi chứa giá trị sẽ được gửi trong header HTTP Service-Worker-Navigation-Preload sau khi tải trước fetch(). Giá trị mặc định là true trừ khi giá trị được thay đổi bằng NavigationPreloadManager.setHeaderValue().

Ngoại lệ

InvalidStateError DOMException

Không có worker hoạt động nào liên kết với registration mà NavigationPreloadManager nà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.

js
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

Tương thích trình duyệt