cookies.getAll()
语法
let getting = browser.cookies.getAll(
details // 对象
)
参数
details
-
一个
object
,包含用于匹配要检索的 Cookie 的详细信息。包含的属性如下(有关这些属性的更多信息,请参见 Cookie 类型):domain
可选-
一个
string
,表示 Cookie 必须关联的域(它们可以与此确切域或其子域之一关联)。 firstPartyDomain
可选-
一个
string
,表示要检索的 Cookie 所关联的第一方域。如果浏览器启用了第一方隔离,则必须提供此属性。但是,在这种情况下,你可以将这个值设为
null
。如果这样做,那么结果中将包括firstPartyDomain
值为任意或为空的 Cookie。请参见第一方隔离。 name
可选-
一个
string
,表示 Cookie 应该具有的名称。 partitionKey
可选-
一个
object
,定义要从哪个存储分区返回 Cookie:- 如果省略,则仅返回未分区存储中的 Cookie。
- 如果提供但未指定
topLevelSite
,则返回分区和未分区存储中的所有 Cookie。 - 如果提供并指定了 topLevelSite,则返回指定分区存储中的 Cookie。
此对象包含:
topLevelSite
可选-
一个
string
,表示包含 Cookie 的顶级站点存储分区的第一方 URL。
path
可选-
一个
string
,表示路径——Cookie 的路径必须与此路径相同。 secure
可选-
一个
boolean
,根据其secure
属性过滤 Cookie,允许你过滤安全 Cookie 和非安全 Cookie。 session
可选-
一个
boolean
,根据其session
属性过滤 Cookie,允许你过滤会话 Cookie 和持久性 Cookie。 storeId
可选-
一个
string
,表示要从中检索 Cookie 的 Cookie 存储。如果省略,将使用当前执行上下文的 Cookie 存储。 url
可选-
一个
string
,表示要检索的 Cookie 必须关联的 URL。
返回值
一个 Promise
,其会兑现一个
对象数组,这些对象与 cookies.Cookie
details
参数中给定的属性匹配。仅返回未过期的 Cookie。返回的 Cookie 将按路径长度排序,从最长到最短。如果多个 Cookie 的路径长度相同,则创建时间最早的将排在最前面。
浏览器兼容性
BCD tables only load in the browser
示例
在下面的代码片段中,我们调用函数来获取浏览器当前存储的所有名称为“favorite-color”的 Cookie。当结果返回时,我们将每个结果的值打印到控制台。
function logCookies(cookies) {
for (const cookie of cookies) {
console.log(cookie.value);
}
}
browser.cookies
.getAll({
name: "favorite-color",
})
.then(logCookies);
示例扩展
备注:此 API 基于 Chromium 的 chrome.cookies
API。本文档源自 Chromium 代码中的 cookies.json
。