cookies.getAll()
语法
let getting = browser.cookies.getAll(
details // object
)
参数
details
-
一个
object
,包含可用于匹配要检索的 Cookie 的详细信息。包含的属性如下(有关这些属性的更多信息,请参见 Cookie 类型)domain
可选-
一个
string
,表示 Cookie 必须与之关联的域(它们可以与该确切域或其子域之一关联)。 firstPartyDomain
可选-
一个
string
,表示与要检索的 Cookie 关联的第一方域。如果浏览器启用了第一方隔离,则必须提供此属性。但是,您可以在这种情况下传递
null
。如果您这样做,则具有任何firstPartyDomain
值的 Cookie,以及根本没有设置firstPartyDomain
的 Cookie,都将包含在结果中。请参见 第一方隔离。 name
可选-
一个
string
,表示 Cookie 应具有的名称。 partitionKey
可选-
一个
object
,定义要从哪个 存储分区 返回 Cookie- 如果省略,则仅返回来自未分区的存储的 Cookie。
- 如果包含但不包含
topLevelSite
,则返回来自分区和未分区存储的所有 Cookie。 - 如果包含并指定了
topLevelSite
,则返回来自指定分区存储的 Cookie。
此对象包含
topLevelSite
可选-
一个
string
,表示包含 Cookie 的顶级站点存储分区的第三方 URL。
path
可选-
一个
string
,表示路径 — Cookie 的路径必须与之相同。 secure
可选-
一个
boolean
— 通过 Cookie 的secure
属性筛选 Cookie,允许您筛选安全 Cookie 与非安全 Cookie。 session
可选-
一个
boolean
— 通过 Cookie 的session
属性筛选 Cookie,允许您筛选会话 Cookie 与持久性 Cookie。 storeId
可选-
一个
string
,表示要从中检索 Cookie 的 Cookie 存储。如果省略,将使用当前执行上下文的 Cookie 存储。 url
可选-
一个
string
,表示检索的 Cookie 必须与之关联的 URL。
返回值
一个 Promise
,它将与一个
对象数组一起完成,这些对象与 cookies.Cookie
details
参数中给定的属性匹配。仅返回未过期的 Cookie。返回的 Cookie 将按路径长度排序,最长的排在最前面。如果多个 Cookie 具有相同的路径长度,则创建日期最早的 Cookie 将排在最前面。
浏览器兼容性
BCD 表仅在浏览器中加载
示例
在以下代码段中,我们正在调用一个函数来获取浏览器当前存储的所有名称为“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
。