Cookie Store API
注意:此功能在 Service Workers 中可用。
Cookie Store API 是一種用於管理 Cookie 的非同步 API,可在視窗以及 Service Worker 中使用。
概念與用法
獲取和設定 Cookie 的原始方法是透過操作 document.cookie 來以鍵值對字串的形式獲取和設定 Cookie 資訊。這種方法不僅繁瑣且容易出錯,而且在現代 Web 開發的上下文中還存在許多問題。
document.cookie 介面是 同步、單執行緒且阻塞的。在寫入 Cookie 時,您必須等待瀏覽器更新所有 Cookie 的字串。此外,對 document 的依賴意味著 Service Worker 無法訪問 Cookie,因為它們無法訪問 document 物件。
Cookie Store API 提供了一種更新的 Cookie 管理方法。它具有 非同步性並且基於 Promise,因此不會阻塞事件迴圈。它不依賴於 Document,因此可供 Service Worker 使用。獲取和設定 Cookie 的方法透過錯誤訊息提供了更多反饋。這意味著 Web 開發者無需設定然後立即讀回 Cookie 來檢查設定是否成功。
介面
-
CookieStore介面支援獲取和設定 Cookie。 -
CookieStoreManager介面提供了一個 Service Worker 註冊,使 Service Worker 能夠訂閱 Cookie 更改事件。 -
當任何指令碼可見的 Cookie 發生更改時,在
Window上下文中會針對CookieStore物件分派一個名為change的CookieChangeEvent。 -
當任何指令碼可見的 Cookie 發生更改並且匹配 Service Worker 的 Cookie 更改訂閱列表時,在
ServiceWorkerGlobalScope上下文中會分派一個名為cookiechange的ExtendableCookieChangeEvent。
其他介面的擴充套件
-
返回與 Service Worker 關聯的
CookieStore物件的引用。 -
返回
CookieStoreManager介面的引用,該介面使 Web 應用能夠訂閱和取消訂閱 Cookie 更改事件。 -
返回當前文件上下文的
CookieStore物件的引用。 -
當發生任何與 Service Worker 的 Cookie 更改訂閱列表匹配的 Cookie 更改時觸發。
規範
| 規範 |
|---|
| Cookie Store API |
瀏覽器相容性
api.CookieStore
載入中…
api.CookieStoreManager
載入中…