Spec-Zone.ru › Web APIs

FileSystemHandle: метод requestPermission()

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

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

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

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

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

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

Метод requestPermission() интерфейса FileSystemHandle запрашивает разрешения на чтение или чтение/запись для обработчика файла.

Синтаксис

requestPermission(descriptor)

Параметры

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

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

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

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

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

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

Исключения

TypeError

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

SecurityError DOMException

Выбрасывается в следующих случаях:

  • Метод был вызван в контексте, который не является одним и тем же сайтом, что и верхний уровень контекста (например, в iframe другого сайта).
  • Не было транзиентной активации пользователя, такой как нажатие кнопки. Это включает случаи, когда обработчик находится в контексте, отличном от окна, например, в работнике.

Безопасность

Транзиентная активация пользователя требуется. Пользователь должен взаимодействовать со страницей или элементом пользовательского интерфейса для работы этой функции.

Примеры

Следующая асинхронная функция запрашивает разрешения, если они ещё не получены.

// 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;
}

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

Спецификация
Доступ к файловой системе
# api-filesystemhandle-requestpermission

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
requestPermission 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/requestPermission

Spec-Zone.ru

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