CookieChangeEvent: changed 屬性

基準線 2025
新推出

自 2025 年 6 月起,此功能已在最新的裝置和瀏覽器版本中可用。此功能可能不適用於舊裝置或瀏覽器。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

CookieChangeEvent 介面的只讀屬性 changed 返回一個已更改的 cookie 陣列。

請注意,這不包括已設定過期日期(即過去)的 cookie,因為這些 cookie 會立即被刪除。

一個包含已更改 cookie 的物件陣列。每個物件都包含以下屬性:

name

包含 cookie 名稱的字串。

value

包含 cookie 值的字串。

包含 cookie 域名的字串。

路徑

包含 cookie 路徑的字串。

expires

一個時間戳,以 Unix 時間(毫秒)給出,包含 cookie 的過期日期。

secure

一個 boolean 值,指示 cookie 是否僅在安全上下文中(HTTPS 而不是 HTTP)使用。

sameSite

以下 SameSite 值之一:

"strict"

Cookie 將僅在第一方上下文中傳送,而不會與第三方網站發起的請求一起傳送。

"lax"

Cookie 不會在正常的跨站子請求中傳送(例如,在第三方網站中載入圖片或框架),但在使用者在源站內導航時(例如,在點選連結時)會發送。

"none"

Cookie 將在所有上下文中傳送。

partitioned

一個布林值,指示 cookie 是否為分割槽 cookie(true)或不是(false)。有關更多資訊,請參閱 具有獨立分割槽狀態的 Cookie (CHIPS)

示例

在此示例中,當 cookie 被設定時,事件監聽器會將 changed 屬性記錄到控制檯。該陣列的第一個元素包含一個表示剛剛設定的 cookie 的物件。

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

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

規範

規範
Cookie Store API
# dom-cookiechangeevent-changed

瀏覽器相容性