1. 面向开发者的 Web 技术
  2. Web API
  3. NavigationDestination

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

NavigationDestination

基线 2026
最近可用

自 January 2026 起,此特性已在最新浏览器中得到支持。但在较旧的设备或浏览器中可能无法运行。

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

导航 APINavigationDestination 接口表示当前导航中要导航到的目标。

它可通过 NavigateEvent.destination 属性访问。

实例属性

id 只读

如果 NavigateEvent.navigationTypetraverse,则返回目标 NavigationHistoryEntryid 值,否则返回空字符串。

index 只读

如果 NavigateEvent.navigationTypetraverse,则返回目标 NavigationHistoryEntryindex 值,否则返回 -1

key 只读

如果 NavigateEvent.navigationTypetraverse,则返回目标 NavigationHistoryEntrykey 值,否则返回空字符串。

sameDocument 只读

如果导航到与当前 Document 值相同的 document,则返回 true,否则返回 false

url 只读

返回导航到的 URL 地址。

实例方法

getState()

返回与目标 NavigationHistoryEntry 或导航操作(例如 navigate())相关的可用状态的克隆。

示例

js
navigation.addEventListener("navigate", (event) => {
 // 如果此导航不应被拦截,则提前退出,例如,如果导航是跨源的,或者是下载请求
 if (shouldNotIntercept(event)) {
 return;
 }
 // 返回由 NavigationDestination.url 值构造的 URL() 对象
 const url = new URL(event.destination.url);
 if (url.pathname.startsWith("/articles/")) {
 event.intercept({
 async handler() {
 // URL 已更改,因此在获取新内容时显示占位符,例如旋转图标或加载页面
 renderArticlePagePlaceholder();
 // 获取新内容并在准备就绪时显示
 const articleContent = await getArticleContent(url.pathname);
 renderArticlePage(articleContent);
 },
 });
 }
});

规范

规范
HTML
# the-navigationdestination-interface

浏览器兼容性

参见

帮助改进 MDN

了解如何参与贡献

此页面最后更新于 ,由 MDN 贡献者更新。

AltStyle によって変換されたページ (->オリジナル) /