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

View in English Always switch to English

CookieChangeEvent

基线 2025
最近可用

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

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

Cookie 存储 APICookieChangeEvent 接口是当任何 cookie 被创建或删除时在 CookieStore 上触发的 change 事件的事件类型。

备注:当一个 cookie 被另一个具有相同名称、域和路径的 cookie 替换时,被替换的 cookie 会被忽略,不会触发 change 事件。

Event CookieChangeEvent

构造函数

CookieChangeEvent()

创建一个新的 CookieChangeEvent

实例属性

该接口同样继承来自 Event 的属性。

CookieChangeEvent.changed 只读

列出所有新创建的 cookie 的数组。请注意,这将排除那些已过期的 cookie,因为这些 cookie 会被立即删除。

CookieChangeEvent.deleted 只读

列出所有已被移除的 cookie 的数组,这些 cookie 可能因过期或被明确删除而移除。请注意,这将包括那些创建时已过期的 cookie。

实例方法

该接口同样继承来自 Event 的方法。

示例

在此示例中,当设置 cookie 时,事件监听器会将事件记录到控制台。CookieChangeEvent 对象的 changed 属性包含刚刚设置的 cookie 的对象。

js
cookieStore.addEventListener("change", (event) => {
  console.log(event);
});

const oneDay = 24 * 60 * 60 * 1000;
cookieStore.set({
  name: "cookie1",
  value: "cookie1-value",
  expires: Date.now() + oneDay,
  domain: "example.com",
});

规范

规范
Cookie Store API
# CookieChangeEvent

浏览器兼容性