Request: isHistoryNavigation property
Value
A boolean value.
Examples
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("fetch", (event) => {
// …
if (event.request.isHistoryNavigation) {
event.respondWith(
(async () => {
let response = await caches.match(event.request);
if (response !== undefined) {
return response;
}
response = await fetch(event.request);
const responseClone = response.clone();
event.waitUntil(
caches
.open("v1")
.then((cache) => cache.put(event.request, responseClone)),
);
return response;
})(),
);
}
// …
});
Specifications
Browser compatibility
See also
这篇文档对你有帮助吗?
谢谢你的反馈!