Document: hasStorageAccess() メソッド

Baseline 2023
Newly available

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

hasStorageAccess()Document インターフェイスのメソッドで、この文書がサードパーティ分離されたクッキーへのアクセス権を持っているかどうかを示す論理値で解決する Promise を返します。

詳しくは ストレージアクセス API を参照してください。

メモ: このメソッドは Document.hasUnpartitionedCookieAccess() の別名です。Document.hasUnpartitionedCookieAccess() のためにこのメソッドを削除する予定はありません。

構文

js
hasStorageAccess()

引数

なし。

返値

文書がサードパーティ Cookie にアクセスできるかどうかを示す論理値で解決する Promise です。サードパーティ Cookie にアクセスできる場合は true、できない場合は false です。

このメソッドが返す結果は、状況によっては不正確なことがあります。

  1. ユーザーがサードパーティクッキーをブロックするブラウザー設定をアクティブにしている場合があります。この場合、サードパーティのクッキーにはまだアクセスできないにもかかわらず、true が返されるかもしれません。このような状況を処理するには、クッキーの値が回復不可能になるようなエラーを適切に処理しなければなりません。例えば、個人設定へのアクセスがブロックされていることをユーザーに知らせ、それを使用するには再度サインインするよう促してください。
  2. ブラウザーは既定で、サードパーティクッキーへのアクセスをブロックしない場合があります。この場合、サードパーティクッキーがアクセス可能であっても false が返されるかもしれませんし、ストレージへのアクセスは(つまり Document.requestStorageAccess() を通して)リクエストされる必要はないでしょう。この課題を回避するには、Document.cookie に問い合わせてクッキーがアクセス可能かどうかを探し、アクセス可能でない場合は Document.requestStorageAccess() を呼び出します。

メモ: プロミスが解決され、関数が元々呼び出されたときにユーザージェスチャーイベントが処理されていた場合、解決ハンドラーはユーザーによるジェスチャーが処理されているかのように実行サレルるので、ユーザーによるアクティブ化が要求される API を呼び出すことができます。

例外

InvalidStateError DOMException

現在の Document がまだアクティブでない場合に発生します。

js
document.hasStorageAccess().then((hasAccess) => {
  if (hasAccess) {
    // ストレージへのアクセスはすでに許可されています。
    console.log("クッキーへのアクセスが許可されました");
  } else {
    // ストレージへのアクセスはまだ許可されていません。
    // requestStorageAccess() を呼び出す必要があります。
    console.log("クッキーへのアクセスが拒否されました");
  }
});

メモ: より完全な例は、ストレージアクセス API の使用を参照してください。

仕様書

Specification
The Storage Access API
# dom-document-hasstorageaccess

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
hasStorageAccess

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

関連情報