The Navigation API only exposes history entries created in the current browsing context that have the same origin as the current page (e.g. not navigations inside embedded <iframe>s, or cross-origin navigations), providing an accurate list of all previous history entries just for your app. This makes traversing the history a much less fragile proposition than with the older History API.
Returns the id of the history entry. This is a unique, UA-generated value that always represents a specific history entry, useful to correlate it with an external resource such as a storage cache.
Returns the index of the history entry in the history entries list (that is, the list returned by Navigation.entries()), or -1 if the entry does not appear in the list.
Returns the key of the history entry. This is a unique, UA-generated value that represents the history entry's slot in the entries list rather than the entry itself. It is used to navigate that particular slot via Navigation.traverseTo(). The key will be reused by other entries that replace the entry in the list (that is, if the NavigateEvent.navigationType is replace).
Fires when the entry is no longer part of the history entry list.
Examples
js
functioninitHomeBtn(){// 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({asynchandler(){// Navigate to a different view,// but the "home" button will always work.},});});