This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Web Workers.
The isHistoryNavigation read-only property of the Request interface is a boolean indicating whether the request is a history navigation.
A history navigation is a navigation within the browser's history, made by calling History.go(), History.back(), History.forward(), Navigation.traverseTo(), Navigation.back(), Navigation.forward(), or directly by clicking the browser's back or forward navigation button.
A boolean value.
This example executes in a service worker. It listens for the fetch event. In the event handler, the service worker checks the isHistoryNavigation property to know whether the request happened because of a history navigation. If so, it attempts to respond with a cached response. If the cache does not contain a response for this request, the service worker fetches a response from the network, caches a clone of it, and responds with the network response.
self.addEventListener("request", (event) => {
// …
if (event.request.isHistoryNavigation) {
event.respondWith(
caches.match(event.request).then((response) => {
if (response !== undefined) {
return response;
}
return fetch(event.request).then((response) => {
const responseClone = response.clone();
caches
.open("v1")
.then((cache) => cache.put(event.request, responseClone));
return response;
});
}),
);
}
// …
});
| Specification |
|---|
| Fetch> # ref-for-dom-request-ishistorynavigation①> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
isHistoryNavigation |
69 | 79 | No | 56 | No | 69 | No | 48 | No | 10.0 | 69 | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Request/isHistoryNavigation