Navigation: phương thức updateCurrentEntry()

Baseline 2026
Newly available

Since January 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Phương thức updateCurrentEntry() của giao diện Navigation cập nhật state của currentEntry; được dùng trong các trường hợp thay đổi trạng thái sẽ độc lập với một điều hướng hoặc tải lại.

Cú pháp

js
updateCurrentEntry(options)

Tham số

options

Một đối tượng tùy chọn chứa các thuộc tính sau:

state

Thông tin do nhà phát triển định nghĩa để lưu trong NavigationHistoryEntry liên quan sau khi điều hướng hoàn tất, có thể truy xuất qua getState(). Đây có thể là bất kỳ kiểu dữ liệu nào. Ví dụ, bạn có thể muốn lưu số lượt truy cập trang cho mục đích phân tích, hoặc lưu chi tiết trạng thái UI để view có thể hiển thị chính xác như người dùng đã để lần cuối. Mọi dữ liệu lưu trong state phải là có thể sao chép có cấu trúc.

Giá trị trả về

Không có (undefined).

Ngoại lệ

DataCloneError DOMException

Được ném ra nếu tham số state chứa các giá trị không thể sao chép có cấu trúc.

InvalidStateError DOMException

Được ném ra nếu Navigation.currentEntrynull, tức là không có mục lịch sử hiện tại. Ví dụ, điều này có thể xảy ra nếu trang hiện tại là about:blank.

Ví dụ

Bạn có thể dùng code tương tự như sau để cập nhật trạng thái mở/đóng của phần tử <details> để trạng thái có thể được khôi phục khi tải lại trang hoặc điều hướng trở lại từ nơi khác.

js
detailsElem.addEventListener("toggle", () => {
  navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});

Thông số kỹ thuật

Thông số kỹ thuật
HTML
# dom-navigation-updatecurrententry-dev

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

Xem thêm