cookies.Cookie

Cookie 类型是 cookies API 的一部分,代表有关 HTTP cookie 的信息。

类型

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

一个 string,表示 cookie 所属的域名(例如,“www.google.com” 或 “example.com”)。

expirationDate 可选

一个 number,表示 cookie 的过期日期,以自 Unix 纪元以来的秒数计。包含毫秒作为小数部分。会话 cookie 不提供此项。

firstPartyDomain

一个 string,表示与 cookie 关联的第一方域名。如果 cookie 是在关闭第一方隔离时设置的,则为空字符串。请参阅 第一方隔离

hostOnly

一个 boolean,如果 cookie 是仅主机 cookie(即,请求的主机必须与 cookie 的域名完全匹配),则为 true,否则为 false

httpOnly

一个 boolean,如果 cookie 被标记为 HttpOnly(即,客户端脚本无法访问 cookie),则为 true,否则为 false

name

一个 string,表示 cookie 的名称。

partitionKey 可选

一个 object,表示包含 cookie 的 存储分区 的描述。如果 cookie 不在分区存储中,则此对象被省略(为 null)。此对象包含以下属性:

topLevelSite

如果 cookie 位于按顶级站点分区的存储中,则表示 cookie 存储分区的第一个站点 URL 的 string

路径

一个 string,表示 cookie 的路径。

secure

一个 boolean,如果 cookie 被标记为安全(即,其范围仅限于安全通道,通常是 HTTPS),则为 true,否则为 false

会话

一个 boolean,如果 cookie 是会话 cookie,则为 true,如果 cookie 是具有过期日期的持久 cookie,则为 false

sameSite

一个 cookies.SameSiteStatus 值,指示 cookie 的 SameSite 状态。

storeId

一个 string,表示包含此 cookie 的 cookie 存储的 ID,由 cookies.getAllCookieStores() 提供。

value

一个 string,表示 cookie 的值。

示例

cookies API 中的大多数方法都涉及一个 Cookie 对象作为输入参数或作为返回值的一部分。例如,调用 cookies.getAll() 会返回一个 Cookie 对象数组。

此示例请求所有 cookie,然后记录结果 Cookie 对象中每个对象的某些值。

js
function logCookies(cookies) {
  for (cookie of cookies) {
    console.log(`Domain: ${cookie.domain}`);
    console.log(`Name: ${cookie.name}`);
    console.log(`Value: ${cookie.value}`);
    console.log(`Persistent: ${!cookie.session}`);
  }
}

let gettingAll = browser.cookies.getAll({});
gettingAll.then(logCookies);

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.cookies API。本文档源自 Chromium 代码中的 cookies.json