Spec-Zone.ru › Web APIs

FileSystemHandle: метод queryPermission()

Ограниченная доступность

Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости с браузерами.

Метод queryPermission() интерфейса FileSystemHandle запрашивает текущее состояние разрешения текущего объекта.

Синтаксис

queryPermission(descriptor)

Параметры

descriptor Необязательно

Объект, который определяет режим разрешения для запроса. Доступные варианты:

'mode' Необязательно

Может быть 'read' или 'readwrite'.

Возвращаемое значение

Promise, который разрешается со значением PermissionStatus.state, которое может быть 'granted', 'denied' или 'prompt'. Также может отклониться с одной из указанных ниже исключений.

Если разрешение равно "prompt", веб-сайту необходимо вызвать requestPermission() прежде чем можно выполнять любые операции с объектом. Если разрешение равно "denied", все операции отклонятся. Как правило, объекты, возвращаемые фабриками объектов файловой системы, первоначально разрешаются значением "granted" для состояния разрешения на чтение. Однако, кроме случаев отзыва разрешения пользователем, объект, полученный из IndexedDB, также, скорее всего, будет разрешен значением "prompt".

Исключения

TypeError

Выбрасывается, если mode указан со значением, отличным от 'read' или 'readwrite'

Примеры

Следующая асинхронная функция возвращает true, если пользователь предоставил разрешение на чтение или запись для объекта файла. Если разрешения нет, запрос выполняется.

// fileHandle is a FileSystemFileHandle
// withWrite is a boolean set to true if write

async function verifyPermission(fileHandle, withWrite) {
  const opts = {};
  if (withWrite) {
    opts.mode = "readwrite";
  }

  // Check if we already have permission, if so, return true.
  if ((await fileHandle.queryPermission(opts)) === "granted") {
    return true;
  }

  // Request permission to the file, if the user grants permission, return true.
  if ((await fileHandle.requestPermission(opts)) === "granted") {
    return true;
  }

  // The user did not grant permission, return false.
  return false;
}

Спецификации

Спецификация
File System Access
# api-filesystemhandle-querypermission

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
queryPermission 86 86 Нет 72 Нет 109 Нет 74 Нет 21.0 109

См. также

  • API файловой системы
  • API доступа к файловой системе: упрощение доступа к локальным файлам

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/queryPermission

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API