NavigationDestination
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The NavigationDestination interface of the Navigation API represents the destination being navigated to in the current navigation.
It is accessed via the NavigateEvent.destination property.
Instance properties
idRead only-
Returns the
idvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or an empty string otherwise. indexRead only-
Returns the
indexvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or-1otherwise. keyRead only-
Returns the
keyvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or an empty string otherwise. sameDocumentRead only-
Returns
trueif the navigation is to the samedocumentas the currentDocumentvalue, orfalseotherwise. urlRead only-
Returns 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> |