此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

CookieStore

基线 2025
最近可用
*

自 2025年6月 起,此特性已在最新浏览器中得到支持。但在较旧的设备或浏览器中可能无法运行。

Want more browser support for this feature? Tell us why.

* 此特性的某些部分的支持程度可能有所不同。

安全上下文: 此特性仅在一些支持的浏览器的安全上下文(HTTPS)中可用。

备注: 此特性在 Web Worker 中可用。

Cookie Store API 的 CookieStore 接口提供了在页面或 Service Worker 中异步设置和获取 cookies 的方法

CookieStore 通过 Window 或 ServiceWorkerGlobalScope 上下文的全局范围内的属性进行访问。因此,不存在构造函数。

EventTarget CookieStore

实例方法

CookieStore.delete()

delete() 方法通过 name 或 options 对象删除 cookie,返回一个删除完成后兑现的 Promise。

CookieStore.get()

get() 方法获通过 name 或 options 对象获取一个 cookie,返回一个兑现为 cookie 详细信息的 Promise。

CookieStore.getAll()

getAll() 方法获取所有匹配的 cookie,返回一个兑现为 cookie 列表的 Promise。

CookieStore.set()

set() 方法通过给定的 name 和 value 或 options 对象设置 cookie,返回一个设置成功后兑现的 Promise。

事件

change

当 cookie 发生任何变更将触发 change 事件。

示例

在此示例中,我们设置了一个 cookie,并将其写入控制台以了解该操作是成功还是失败。

js
const day = 24 * 60 * 60 * 1000;

cookieStore
  .set({
    name: "cookie1",
    value: "cookie1-value",
    expires: Date.now() + day,
    domain: "example.com",
  })
  .then(
    () => {
      console.log("成功了!");
    },
    (reason) => {
      console.error("设置失败:", reason);
    },
  );

规范

规范
Cookie Store API
# CookieStore

浏览器兼容性