cookies.Cookie

Cookie类型的cookiesAPI表示有关HTTP cookie的信息。

类型

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

domain

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

expirationDate 可选

一个number表示cookie的过期日期,以自UNIX纪元以来的秒数表示。会话cookie不提供。

firstPartyDomain

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

hostOnly

一个booleantrue如果cookie是主机专用cookie(即请求的主机必须与cookie的域完全匹配),否则为false

httpOnly

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

name

一个string表示cookie的名称。

partitionKey 可选

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

topLevelSite

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

path

一个string表示cookie的路径。

secure

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

session

一个booleantrue如果cookie是会话cookie,否则为false如果它是具有过期日期的持久性cookie。

sameSite

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

storeId

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

value

一个string表示cookie的值。

浏览器兼容性

BCD 表仅在浏览器中加载

示例

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.cookiesAPI。本文档源自 Chromium 代码中的cookies.json