NavigateEvent: canIntercept property
Baseline 2026Newly available
Since January 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
ThecanIntercept read-only property of theNavigateEvent interface returnstrue if the navigation can be intercepted and have its URL rewritten, orfalse otherwise
There are several rules around when a navigation can be intercepted. For example:
- You can't intercept cross-origin navigations.
- You can intercept
httporhttpsURLs if only thepath,query, andfragmentportions of the new URL differ from the current URL. - You can intercept
fileURLs if only thequeryandfragmentportions of the new URL differ. - For other URL types you can intercept the navigation if only the
fragmentportion differs.
See the spec for more explanation onwhen a Document can have its URL rewritten, including a table of examples.
In this article
Value
A boolean value—true if the navigation can be intercepted,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> # dom-navigateevent-canintercept-dev> |