Request: isHistoryNavigation プロパティ
メモ: この機能はウェブワーカー内で利用可能です。
isHistoryNavigation
は Request
インターフェイスの。読み取り専用プロパティで、このリクエストが履歴ナビゲーションであるかどうかを示す論理値です。
履歴ナビゲーションは、ブラウザーの履歴の中の移動であり、 History.go()
、History.back()
、History.forward()
、Navigation.traverseTo()
、Navigation.back()
、Navigation.forward()
を呼び出したり、ブラウザーの前ページ、次ページへのナビゲーションボタンをクリックしたりして行うものです。
値
論理値です。
例
この例は、サービスワーカー内で実行されます。 fetch
イベントを待ち受けします。イベントハンドラー内で、サービスワーカーは isHistoryNavigation
プロパティをチェックして、リクエストが履歴ナビゲーションによるものかどうかを判断します。 履歴ナビゲーションによるリクエストの場合は、キャッシュされたレスポンスで応答しようと試みます。 キャッシュがこのリクエストに対するレスポンスを含んでいない場合は、サービスワーカーはネットワークからレスポンスを取得し、その複製をキャッシュし、ネットワークレスポンスで応答します。
js
self.addEventListener("request", (event) => {
// ...
if (event.request.isHistoryNavigation) {
event.respondWith(
caches.match(event.request).then((response) => {
if (response !== undefined) {
return response;
} else {
return fetch(event.request).then((response) => {
let responseClone = response.clone();
caches.open("v1").then((cache) => {
cache.put(event.request, responseClone);
});
return response;
});
}
}),
);
}
// ...
});
仕様書
Specification |
---|
Fetch # ref-for-dom-request-ishistorynavigation① |
ブラウザーの互換性
BCD tables only load in the browser