Navigation: phương thức traverseTo()
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 traverseTo() của giao diện Navigation điều hướng đến NavigationHistoryEntry được xác định bởi key đã cho.
Cú pháp
traverseTo(key)
traverseTo(key, options)
Tham số
key-
keycủaNavigationHistoryEntryđể điều hướng tới. optionsOptional-
Một đối tượng tùy chọn chứa các thuộc tính sau:
infoOptional-
Thông tin do nhà phát triển định nghĩa để truyền cùng với sự kiện
navigate, có sẵn trongNavigateEvent.info. Đây có thể là bất kỳ kiểu dữ liệu nào. Ví dụ, bạn có thể muốn hiển thị nội dung được điều hướng đến với một animation khác nhau tùy thuộc vào cách nó được điều hướng tới (vuốt trái, vuốt phải, hoặc về trang chủ). Một chuỗi chỉ ra animation nào cần dùng có thể được truyền vào dưới dạnginfo.
Giá trị trả về
Một đối tượng với các thuộc tính sau:
committed-
Một
Promisesẽ được thực hiện khi URL hiển thị đã thay đổi và mộtNavigationHistoryEntrymới đã được tạo. finished-
Một
Promisesẽ được thực hiện khi tất cả các promise được trả về bởi trình xử lýintercept()đều được thực hiện. Điều này tương đương với promiseNavigationTransition.finishedđược thực hiện, khi sự kiệnnavigatesuccesskích hoạt.
Một trong hai promise này sẽ bị từ chối nếu việc điều hướng thất bại vì lý do nào đó.
Ngoại lệ
InvalidStateErrorDOMException-
Được ném ra nếu giá trị
NavigationHistoryEntry.indexcủaNavigation.currentEntrylà -1, có nghĩa là Document hiện tại chưa được kích hoạt, hoặc nếu danh sách lịch sử điều hướng không chứaNavigationHistoryEntryvới key được chỉ định, hoặc nếu Document hiện tại đang bị gỡ bỏ.
Ví dụ
>Thiết lập nút trang chủ
function initHomeBtn() {
// Get the key of the first loaded entry
// so the user can always go back to this view.
const { key } = navigation.currentEntry;
backToHomeButton.onclick = () => {
navigation.traverseTo(key);
};
}
// Intercept navigate events, such as link clicks, and
// replace them with single-page navigations
navigation.addEventListener("navigate", (event) => {
event.intercept({
async handler() {
// Navigate to a different view,
// but the "home" button will always work.
},
});
});
Thông số kỹ thuật
| Specification |
|---|
| HTML> # dom-navigation-traverseto-dev> |