CookieStore:getAll() 方法
注意:此功能在Service Workers中可用。
getAll()
方法是 CookieStore
接口的方法,它返回与传递给它的 name
或 options
匹配的 Cookie 列表。不传递任何参数将返回当前上下文的全部 Cookie。
语法
js
getAll(name)
getAll(options)
参数
返回值
一个Promise
,它解析为一个对象数组,表示与给定 name
或 options
匹配的 Cookie。
每个对象包含以下属性
domain
-
包含 Cookie 域的字符串。
expires
-
时间戳,以毫秒为单位的Unix 时间,包含 Cookie 的过期日期。
name
-
包含 Cookie 名称的字符串。
partitioned
-
一个布尔值,指示 Cookie 是否为分区 Cookie (
true
) 或不是 (false
)。有关详细信息,请参阅具有独立分区状态的 Cookie (CHIPS)。 path
-
包含 Cookie 路径的字符串。
sameSite
-
以下
SameSite
值之一 secure
-
一个布尔值,指示 Cookie 是否仅在安全上下文中使用 (
true
) 或不使用 (false
)。 value
-
包含 Cookie 值的字符串。
异常
SecurityError
DOMException
-
如果源无法序列化为 URL,则抛出此异常。
TypeError
-
如果以下情况发生,则抛出此异常:
- 如果在主线程中,则
url
选项存在且与创建 URL 不相等。 url
选项存在且其源与创建 URL 的源不同。- 查询由给定
name
或options
表示的 Cookie 失败。
- 如果在主线程中,则
示例
在此示例中,我们使用不带任何参数的 getAll()
。这将返回此上下文的全部 Cookie,作为一个对象数组。
js
const cookies = await cookieStore.getAll();
if (cookies.length > 0) {
console.log(cookies);
} else {
console.log("Cookie not found");
}
规范
规范 |
---|
Cookie Store API # dom-cookiestore-getall |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。