cookies.getAll()
getAll() 方法是 cookies API 的一部分,用于检索与所提供详细信息匹配的所有 cookie。
要使用此方法,扩展程序必须具有 "cookies" 权限和相关的宿主权限。有关更多详细信息,请参阅 cookie 权限。
这是一个异步函数,返回一个 Promise。
语法
let getting = browser.cookies.getAll(
details // object
)
参数
details-
一个包含用于匹配要检索的 cookie 的详细信息的
object。包含的属性如下(有关这些属性的更多信息,请参阅 Cookie 类型)domain可选-
一个
string,表示 cookie 必须关联的域名(它们可以与此确切域名或其子域名关联)。 firstPartyDomain可选-
一个
string,表示要检索的 cookie 所关联的同级域名。如果浏览器启用了同级隔离,则必须提供此属性。如果传递
null,则结果中将包含firstPartyDomain具有任何值以及未设置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。 session可选-
一个
boolean— 按session属性过滤 cookie,允许您过滤会话 cookie 或持久 cookie。 storeId可选-
一个
string,表示要从中检索 cookie 的 cookie 存储区。如果省略,则使用当前执行上下文的 cookie 存储区。 url可选-
一个
string,表示要检索的 cookie 必须关联的 URL。
返回值
一个 Promise,该 Promise 将以一个 cookies.Cookie 对象数组的形式兑现,这些对象匹配 details 参数中给出的属性。仅返回未过期的 cookie。返回的 cookie 按路径长度排序,从长到短。如果多个 cookie 具有相同的路径长度,则最先创建的 cookie 排在前面。
注意: 在 Firefox 133 之前,Firefox 按创建时间排序返回 cookie,最早创建的排在前面。
示例
此示例获取浏览器存储的所有名为“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。