CacheStorage: open() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

CacheStorage 介面的 open() 方法會返回一個 Promise,該 Promise 解析為與 cacheName 匹配的 Cache 物件。

您可以透過視窗中的 Window.caches 屬性或在 worker 中的 WorkerGlobalScope.caches 屬性來訪問 CacheStorage

注意:如果指定的 Cache 不存在,則會建立一個名為 cacheName 的新快取,並返回一個解析為這個新 Cache 物件的 Promise

語法

js
open(cacheName)

引數

cacheName

要開啟的快取的名稱。

返回值

一個 Promise,它解析為請求的 Cache 物件。

示例

此示例來自 MDN 的 簡單 Service Worker 示例(請參閱 正在執行的簡單 Service Worker)。在這裡,我們等待 InstallEvent 觸發,然後執行 waitUntil() 來處理應用程式的安裝過程。這包括呼叫 CacheStorage.open() 來建立一個新的快取,然後使用 Cache.addAll() 將一系列資源新增到其中。

js
self.addEventListener("install", (event) => {
  event.waitUntil(
    caches
      .open("v1")
      .then((cache) =>
        cache.addAll([
          "/",
          "/index.html",
          "/style.css",
          "/app.js",
          "/image-list.js",
          "/star-wars-logo.jpg",
          "/gallery/bountyHunters.jpg",
          "/gallery/myLittleVader.jpg",
          "/gallery/snowTroopers.jpg",
        ]),
      ),
  );
});

規範

規範
Service Workers
# cache-storage-open

瀏覽器相容性

另見