1. 開発者向けのウェブ技術
  2. Web API
  3. FileSystemHandle
  4. FileSystemHandle.queryPermission()

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

View in English Always switch to English

FileSystemHandle.queryPermission()

利用可能性は限定的

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

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

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

FileSystemHandle インターフェイスの queryPermission() メソッドは、現在のハンドルの現在の許可の状態を取得します。

構文

js
queryPermission(fileSystemHandlePermissionDescriptor)

引数

FileSystemHandlePermissionDescriptor 省略可

取得する対象の許可モードを指定するオブジェクトです。以下の設定ができます。

  • 'mode': 'read' または 'readwrite' の値を取りえます。

返値

'granted''denied''prompt' のいずれかの PermissionStatus.state です。

"prompt" が返った場合は、ウェブサイトはハンドルを用いた操作を行う前に requestPermission() を呼ぶ必要があるでしょう。"denied" が返った場合は、すべての操作が拒否されるでしょう。通常、ローカルファイルシステムのハンドルファクトリーから返されたハンドルは、初期状態で読み取りの許可状態として "granted" を返すでしょう。しかし、ユーザーが許可を取り消した場合以外に、IndexedDB から取得したハンドルも "prompt" を返す可能性が高いでしょう。

例外

TypeError

mode'read' でも 'readwrite' でもない値に設定されたとき投げられます。

以下の非同期関数は、ユーザーがファイルハンドルに読み取りまたは読み書きの許可を与えた場合 true を返します。許可が与えられていない場合、許可を要求します。

js
// fileHandle は FileSystemFileHandle
// withWrite は書き込みのとき true となる boolean 値
async function verifyPermission(fileHandle, withWrite) {
 const opts = {};
 if (withWrite) {
 opts.mode = "readwrite";
 }
 // 既に許可が得られているかを確認し、許可が得られていれば true を返す
 if ((await fileHandle.queryPermission(opts)) === "granted") {
 return true;
 }
 // ファイル操作の許可を要求し、ユーザーが許可を与えれば true を返す
 if ((await fileHandle.requestPermission(opts)) === "granted") {
 return true;
 }
 // ユーザーが許可しなかったので、false を返す
 return false;
}

仕様書

仕様書
File System Access
# api-filesystemhandle-querypermission

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /