NavigationDestination
Baseline 2026Newly available
Since January 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
TheNavigationDestination interface of theNavigation API represents the destination being navigated to in the current navigation.
It is accessed via theNavigateEvent.destination property.
In this article
Instance properties
idRead onlyReturns the
idvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or an empty string otherwise.indexRead onlyReturns the
indexvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or-1otherwise.keyRead onlyReturns the
keyvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or an empty string otherwise.sameDocumentRead onlyReturns
trueif the navigation is to the samedocumentas the currentDocumentvalue, orfalseotherwise.urlRead onlyReturns the URL being navigated to.
Instance methods
getState()Returns a clone of the available state associated with the destination
NavigationHistoryEntry, or navigation operation (e.g.,navigate()) as appropriate.
Examples
navigation.addEventListener("navigate", (event) => { // Exit early if this navigation shouldn't be intercepted, // e.g. if the navigation is cross-origin, or a download request if (shouldNotIntercept(event)) { return; } // Returns a URL() object constructed from the // NavigationDestination.url value const url = new URL(event.destination.url); if (url.pathname.startsWith("/articles/")) { event.intercept({ async handler() { // The URL has already changed, so show a placeholder while // fetching the new content, such as a spinner or loading page renderArticlePagePlaceholder(); // Fetch the new content and display when ready const articleContent = await getArticleContent(url.pathname); renderArticlePage(articleContent); }, }); }});Specifications
| Specification |
|---|
| HTML> # the-navigationdestination-interface> |