このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

ExtendableCookieChangeEvent: changed プロパティ

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

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

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

メモ: この機能はサービスワーカー内でのみ利用可能です。

changedExtendableCookieChangeEvent インターフェイスの読み取り専用プロパティで、指定された ExtendableCookieChangeEvent のインスタンスで変更されたすべての Cookie を返します。

オブジェクトの配列で、変更された Cookie が格納されています。それぞれのオブジェクトは以下のプロパティを持ちます。

name

Cookie の名前を表す文字列です。

value

Cookie の値を表す文字列です。

domain

Cookie のドメインを表す文字列です。

path

Cookie のパスを表す文字列です。

expires

ミリ秒単位の UNIX 時間で与えられるタイムスタンプで、Cookie の有効期限を表します。

secure

論理値 (Boolean) で、Cookie が保護されたコンテキスト (HTTP ではなく HTTPS) でのみ使用されるかどうかを表します。

sameSite

以下の SameSite の値のいずれかです。

"strict"

Cookie はファーストパーティコンテキストでのみ送信され、サードパーティのウェブサイトから発信されたリクエストでは送信されません。

"lax"

Cookie は通常のクロスサイトサブリクエスト (たとえば、サードパーティサイトへの画像やフレームの読み込み) では送信されませんが、ユーザーが発信元のサイト内へ移動するとき (すなわち、リンクをたどるとき) は送信されます。

"none"

Cookie はすべてのコンテキストで送信されます。

partitioned

クッキーが区画化されたクッキーであるか (true)、そうでないか (false) を示す論理値です。情報については、個別区画化された状態を持つクッキー (CHIPS)を参照してください。

この例では、Cookie が設定されると、イベントリスナーがコンソールに changed プロパティを記録します。この配列の最初の要素には、今設定されたばかりの Cookie を表すオブジェクトが格納されています。

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

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

仕様書

仕様書
Cookie Store API
# dom-extendablecookiechangeevent-changed

ブラウザーの互換性