NavigateEvent: hashChange property
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 hashChange
read-only property of the
NavigateEvent
interface returns true
if the navigation is a fragment navigation (i.e. to a fragment identifier in the same document), or false
otherwise.
Value
A boolean value—true
if the navigation is a fragment navigation, false
if not.
Examples
js
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
Specification |
---|
HTML Standard # dom-navigateevent-hashchange-dev |
Browser compatibility
BCD tables only load in the browser