您正位於 MDN Web Docs 的可編輯版本

以 MDN Web Docs 使用者身分檢視: https://developer.mozilla.org/zh-TW/docs/Web/API/NavigationPreloadManager

我們的志工尚未將本文翻譯為 正體中文 (繁體) 版本。加入我們,幫忙翻譯!
您也可以閱讀本文的 English (US) 版本。

The NavigationPreloadManager interface of the the Service Worker API provides methods for managing the preloading of resources with a service worker.

Methods

NavigationPreloadManager.enable()
Enables navigation preloading and returns a Promise that resolves.
NavigationPreloadManager.disable()
Disables navigation preloading and returns a Promise that resolves.
NavigationPreloadManager.setHeaderValue()
Sets the value of the Service-Worker-Navigation-Preload header and returns an empty Promise.
NavigationPreloadManager.getState()
Returns a Promise that resolves to an object with properties indicating whether preload is enabled and the contents of the Service-Worker-Navigation-Preload.

Examples

Feature Detecting and Enabling Navigation Preloading 

addEventListener('activate', event => {
  event.waitUntil(async function() {
    if (self.registration.navigationPreload) {
      // Enable navigation preloads!
      await self.registration.navigationPreload.enable();
    }
  }());
});

Using a Preloaded Response

The following example shows the implementation of a fetch event that uses a preloaded response. 

addEventListener('fetch', event => {
  event.respondWith(async function() {
    // Respond from the cache if we can
    const cachedResponse = await caches.match(event.request);
    if (cachedResponse) return cachedResponse;

    // Else, use the preloaded response, if it's there
    const response = await event.preloadResponse;
    if (response) return response;

    // Else try the network.
    return fetch(event.request);
  }());
});

Specifications

Specification Status Comment
Service Workers
The definition of 'NavigationPreloadManager' in that specification.
Working Draft Initial definition.

Browser Compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
NavigationPreloadManager
Experimental
Chrome Full support 62Edge Full support 18Firefox No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
IE No support NoOpera Full support 49Safari No support NoWebView Android Full support 62Chrome Android Full support 62Firefox Android No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
Opera Android Full support 46Safari iOS No support NoSamsung Internet Android Full support 8.0
disable
Experimental
Chrome Full support 62Edge Full support 18Firefox No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
IE No support NoOpera Full support 49Safari No support NoWebView Android Full support 62Chrome Android Full support 62Firefox Android No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
Opera Android Full support 46Safari iOS No support NoSamsung Internet Android Full support 8.0
enable
Experimental
Chrome Full support 62Edge Full support 18Firefox No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
IE No support NoOpera Full support 49Safari No support NoWebView Android Full support 62Chrome Android Full support 62Firefox Android No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
Opera Android Full support 46Safari iOS No support NoSamsung Internet Android Full support 8.0
getState
Experimental
Chrome Full support 62Edge Full support 18Firefox No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
IE No support NoOpera Full support 49Safari No support NoWebView Android Full support 62Chrome Android Full support 62Firefox Android No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
Opera Android Full support 46Safari iOS No support NoSamsung Internet Android Full support 8.0
setHeaderValue
Experimental
Chrome Full support 62Edge Full support 18Firefox No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
IE No support NoOpera Full support 49Safari No support NoWebView Android Full support 62Chrome Android Full support 62Firefox Android No support No
Notes
No support No
Notes
Notes Implementation tracked in bug 1290958
Opera Android Full support 46Safari iOS No support NoSamsung Internet Android Full support 8.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

文件標籤與貢獻者

此頁面的貢獻者: Wind1808, jpmedley, mdnwebdocs-bot, ExE-Boss, ankush_sk
最近更新: Wind1808,