cookies.Cookie
cookies
API 的 Cookie
类型表示有关 HTTP cookie 的信息。
类型
此类型的值是对象,可以包含以下属性:
domain
-
表示 cookie 所属域的
string
(例如“www.google.com”、“example.com”)。 expirationDate
可选-
表示 cookie 到期日期的
number
,以 UNIX 纪元以来的秒数表示。会话 cookie 不提供此属性。 firstPartyDomain
-
表示与 cookie 关联的第一方域的
string
。如果在第一方隔离关闭时设置 cookie,此属性将为空字符串。参见第一方隔离。 hostOnly
-
一个
boolean
,如果 cookie 仅适用于主机(即请求的主机必须与 cookie 的域完全匹配),则为true
,否则为false
。 httpOnly
-
一个
boolean
,如果 cookie 标记为 HttpOnly(即客户端脚本无法访问 cookie),则为true
,否则为false
。 name
-
表示 cookie 名称的
string
。 partitionKey
可选-
一个
object
,表示包含 cookie 的存储分区的描述。如果 cookie 不在分区存储中,则此对象省略(空值)。此对象包含以下属性:topLevelSite
-
如果 cookie 存储在按顶级站点分区的存储中,则表示 cookie 存储分区的第一方 URL 的
string
。
path
-
表示 cookie 路径的
string
。 secure
-
一个
boolean
,如果 cookie 标记为安全(即其作用域仅限于安全通道,通常是 HTTPS)则为true
,否则为false
。 session
-
一个
boolean
,如果 cookie 是会话 cookie,则为true
;如果是具有到期日期的持久 cookie,则为false
。 sameSite
-
一个
cookies.SameSiteStatus
值,指示 cookie 的同站(SameSite)状态。 storeId
-
表示包含此 cookie 的 cookie 存储的 ID 的
string
,由cookies.getAllCookieStores()
提供。 value
-
表示 cookie 值的
string
。
浏览器兼容性
BCD tables only load in the browser
示例
cookies API 中的大多数方法涉及使用 Cookie
对象作为输入参数或作为返回值的一部分。例如,调用 cookies.getAll()
会返回一个 Cookie
对象数组。
在下面的示例中,我们请求获取所有的 cookie,然后输出每个 Cookie
对象的一些值:
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
。