CookieStoreManager: subscribe() メソッド

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

CookieStoreManager インターフェイスの subscribe() メソッドは、ServiceWorkerRegistration に Cookie 変更イベントを購読させます。

構文

js
subscribe(subscriptions)

引数

subscriptions

以下が格納されたオブジェクトです。

name

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

url

Cookie のスコープの URL を表す文字列です。サービスワーカーの登録のスコープより狭くすることができます。

返値

購読が完了したら undefined で解決する Promise です。

例外

TypeError

subscriptions に渡された URL がサービスワーカーの登録の scope とマッチしないとき投げられます。

この例では、registration で表される ServiceWorkerRegistration が、名前が "cookie1" でスコープが "/path1" である Cookie の変更イベントを購読します。

js
const subscriptions = [{ name: "cookie1", url: `/path1` }];
await registration.cookies.subscribe(subscriptions);

subscribe() メソッドに渡す URL は、サービスワーカーの登録のスコープより狭くすることができます。以下の例では、/path/one/ を購読しているので、最初の Cookie の変更では変更イベントを受け取りますが、2 番目では受け取りません。

js
registration.cookies.subscribe([{ name: "cookie1", url: "/path/one/" }]); // 購読
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/one/" }); // 変更イベントを受け取る
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/two/" }); // 変更イベントを受け取らない

仕様書

Specification
Cookie Store API
# dom-cookiestoremanager-subscribe

ブラウザーの互換性

BCD tables only load in the browser