このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
ExtendableCookieChangeEvent
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
「Cookie Store API」の ExtendableCookieChangeEvent インターフェイスは、Cookie が何か変更された時 ServiceWorkerRegistration.oncookiechange() に渡されるイベント型です。Cookie の変更イベントは、Cookie と種類 ("changed" または "deleted") からなります。
ExtendableCookieChangeEvent を発生させる Cookie の変更は、以下のものがあります。
- Cookie が新規作成され、すぐには削除されません。この場合の
typeは"changed"です。 - Cookie が新規作成され、すぐに削除されます。この場合の
typeは"deleted"です。 - Cookie が削除されます。この場合の
typeは"deleted"です。
メモ: 同じ名前・ドメイン・パスの他の Cookie が挿入されることにより置き換えられる Cookie は無視され、変更イベントを発生させません。
コンストラクター
-
新しい
ExtendableCookieChangeEventを生成します。
インスタンスプロパティ
このインターフェイスは、ExtendableEvent からもプロパティを継承します。
-
変更された Cookie が格納された配列を返します。
-
削除された Cookie が格納された配列を返します。
例
以下の例では、CookieStoreManager.getSubscriptions() を用いて現在ある購読のリストを取得します。(サービスワーカーでは、イベントを監視するには購読が必要です) CookieStoreManager.unsubscribe() を用いて既存の購読を解除し、CookieStoreManager.subscribe() を用いて名前が 'COOKIE_NAME' である Cookie を購読します。この Cookie が変更されると、イベントリスナーがイベントをコンソールに記録します。これは、変化が起きた Cookie が格納された changed プロパティまたは deleted プロパティを持つ ExtendableCookieChangeEvent オブジェクトです。
self.addEventListener("activate", (event) => {
event.waitUntil(async () => {
const subscriptions = await self.registration.cookies.getSubscriptions();
await self.registration.cookies.unsubscribe(subscriptions);
await self.registration.cookies.subscribe([
{
name: "COOKIE_NAME",
},
]);
});
});
self.addEventListener("cookiechange", (event) => {
console.log(event);
});
仕様書
| Specification |
|---|
| Cookie Store API> # ExtendableCookieChangeEvent> |
ブラウザーの互換性
Loading...