NavigationHistoryEntry:key 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

NavigationHistoryEntry 接口的只读属性 key 返回历史记录条目的 key,如果当前文档未完全激活,则返回一个空字符串。这是一个由用户代理(UA)生成的唯一值,代表了历史记录条目在条目列表中的“槽位”。它用于通过 Navigation.traverseTo() 导航到该特定槽位。当其他条目替换列表中的某个条目时(即,如果 NavigateEvent.navigationTypereplace),key 将被重复使用。

这与历史记录条目的 id 不同。id 是一个由用户代理(UA)生成的唯一值,始终代表一个特定的历史记录条目,而不是它在条目列表中的槽位。这有助于将其与外部资源(如存储缓存)相关联。

一个字符串,代表 NavigationHistoryEntrykey

示例

基本用法

js
const current = navigation.currentEntry;
console.log(current.key);

设置主页按钮

js
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.
    },
  });
});

规范

规范
HTML
# dom-navigationhistoryentry-key-dev

浏览器兼容性

另见