NavigationDestination
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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 Experimental-
Returns the
idvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or an empty string otherwise. indexRead only Experimental-
Returns the
indexvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or-1otherwise. keyRead only Experimental-
Returns the
keyvalue of the destinationNavigationHistoryEntryif theNavigateEvent.navigationTypeistraverse, or an empty string otherwise. sameDocumentRead only Experimental-
Returns
trueif the navigation is to the samedocumentas the currentDocumentvalue, orfalseotherwise. urlRead only Experimental-
Returns the URL being navigated to.
Instance methods
getState()Experimental-
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> |
Browser compatibility
Loading…