cookies.CookieStore

CookieStorecookies API 的一种类型,它代表浏览器中的 cookie 存储。

不同浏览模式下的窗口可能会使用不同的 cookie 存储。例如,私人浏览/隐身模式窗口使用的 cookie 存储与非隐身/私人窗口不同。此外,当在 Firefox 中使用 容器标签 时,窗口可能会有多个 cookie 存储。

请参阅 使用 Cookies API,以获取有关 cookie 存储的更多信息。

类型

此类型的值为对象,可以包含以下属性

id

一个字符串,代表 cookie 存储的唯一标识符。

incognito 可选

一个布尔值,指示这是否是隐身 cookie 存储。Chrome 或 Safari 不支持此属性。但是,您可以在 Chrome 中识别隐身 cookie 存储,因为它们的id始终为“1”。

tabIds

一个整数数组,标识所有共享此 cookie 存储的浏览器标签。

浏览器兼容性

BCD 表格仅在浏览器中加载

示例

在以下代码段中,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