files/en-us/web/api/navigateevent/hashchange/index.md
{{APIRef("Navigation API")}}
The hashChange read-only property of the
{{domxref("NavigateEvent")}} interface returns true if the navigation is a fragment navigation (i.e., to a fragment identifier in the same document), or false otherwise.
A boolean value—true if the navigation is a fragment navigation, false if not.
navigation.addEventListener("navigate", (event) => {
// Some navigations, e.g. cross-origin navigations, we
// cannot intercept. Let the browser handle those normally.
if (!event.canIntercept) {
return;
}
// Don't intercept fragment navigations or downloads.
if (event.hashChange || event.downloadRequest !== null) {
return;
}
event.intercept({
handler() {
if (event.formData) {
processFormDataAndUpdateUI(event.formData, event.signal);
} else {
doSinglePageAppNav(event.destination, event.signal);
}
},
});
});
{{Specifications}}
{{Compat}}