cookies.CookieStore

cookies API 的 CookieStore 型別代表瀏覽器中的一個 cookie 儲存區。

不同瀏覽模式下的視窗可能使用不同的 cookie 儲存區。例如,隱私瀏覽(或無痕)模式視窗使用獨立的 cookie 儲存區,與非隱私視窗不同。此外,在 Firefox 中使用 容器標籤頁時,一個視窗可能有多個 cookie 儲存區。

有關 cookie 儲存區的更多資訊,請參閱 使用 Cookies API

型別

此型別的值是可能包含以下屬性的物件

id

一個 string,包含 cookie 儲存區的唯一識別符號。

incognito 可選

一個布林值,指示這是否為無痕 cookie 儲存區。Chrome 或 Safari 不支援此屬性。但是,您可以透過其 id 始終為 "1" 來識別 Chrome 中的無痕 cookie 儲存區。

tabIds

一個 integers 陣列,用於標識共享此 cookie 儲存區的所有瀏覽器標籤頁。

示例

在此程式碼片段中,cookies.getAllCookieStores() 方法用於檢索瀏覽器中所有可用的 cookie 儲存區。然後,它會打印出每個 cookie 儲存區的 ID 以及共享每個 cookie 儲存區的標籤頁。

js
function logStores(cookieStores) {
  for (const store of cookieStores) {
    console.log(`Cookie store: ${store.id}\n Tab IDs: ${store.tabIds}`);
  }
}

browser.cookies.getAllCookieStores().then(logStores);

此程式碼片段獲取所有 cookie 儲存區,然後記錄儲存區的總數以及無痕儲存區的數量。

js
browser.cookies.getAllCookieStores().then((stores) => {
  const incognitoStores = stores.map((store) => store.incognito);
  console.log(
    `Of ${stores.length} cookie stores, ${incognitoStores.length} are incognito.`,
  );
});

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.cookies API。本文件來源於 Chromium 程式碼中的 cookies.json