--- title: NavigationPreloadManager slug: Web/API/NavigationPreloadManager tags: - API - Interface - Navigation - NavigationPreloadManager - Offline - Reference - Service Workers translation_of: Web/API/NavigationPreloadManager ---
{{APIRef("Service Workers API")}}
Service Worker API の NavigationPreloadManager
インターフェイスは、サービスワーカーによるリソースのプリロード(事前読み込み)を管理するためのメソッドを提供します。
Service-Worker-Navigation-Preload
ヘッダーの値を設定し、空の {{jsxref("Promise")}} を返します。Service-Worker-Navigation-Preload
の内容を示すプロパティを持つオブジェクトに解決する {{jsxref("Promise")}} を返します。addEventListener('activate', event => { event.waitUntil(async function() { if (self.registration.navigationPreload) { // ナビゲーションのプリロードを有効にします! await self.registration.navigationPreload.enable(); } }()); });
次の例は、プリロードされたレスポンスを使用する fetch イベントの実装を示しています。
addEventListener('fetch', event => { event.respondWith(async function() { // 可能なら、キャッシュから応答します const cachedResponse = await caches.match(event.request); if (cachedResponse) return cachedResponse; // それがなく、プリロードされたレスポンスがあれば、それを使用します const response = await event.preloadResponse; if (response) return response; // それもなければ、ネットワークを試します。 return fetch(event.request); }()); });
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Service Workers','#navigation-preload-manager','NavigationPreloadManager')}} | {{Spec2('Service Workers')}} | 初期定義 |
{{Compat("api.NavigationPreloadManager")}}