Request: thuộc tính isHistoryNavigation

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Web Workers.

Thuộc tính chỉ đọc isHistoryNavigation của giao diện Request là một giá trị boolean cho biết request có phải là một điều hướng lịch sử hay không.

Một điều hướng lịch sử là một điều hướng trong lịch sử trình duyệt, được thực hiện bằng cách gọi History.go(), History.back(), History.forward(), Navigation.traverseTo(), Navigation.back(), Navigation.forward(), hoặc trực tiếp bằng cách nhấp nút back hoặc forward của trình duyệt.

Giá trị

Một giá trị boolean.

Ví dụ

Ví dụ này chạy trong service worker. Nó lắng nghe sự kiện fetch. Trong handler, service worker kiểm tra thuộc tính isHistoryNavigation để biết request có xảy ra do điều hướng lịch sử hay không. Nếu có, nó cố trả về một phản hồi đã cache. Nếu cache không chứa phản hồi cho request này, service worker sẽ fetch phản hồi từ mạng, cache một bản sao của nó và trả về phản hồi từ mạng.

js
self.addEventListener("request", (event) => {
  // …

  if (event.request.isHistoryNavigation) {
    event.respondWith(
      caches.match(event.request).then((response) => {
        if (response !== undefined) {
          return response;
        }
        return fetch(event.request).then((response) => {
          const responseClone = response.clone();

          caches
            .open("v1")
            .then((cache) => cache.put(event.request, responseClone));

          return response;
        });
      }),
    );
  }

  // …
});

Thông số kỹ thuật

Thông số kỹ thuật
Fetch
# ref-for-dom-request-ishistorynavigation①

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

Xem thêm