FileSystemHandle: метод requestPermission()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Экспериментальная: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости браузеров.
Метод requestPermission() интерфейса FileSystemHandle запрашивает разрешения на чтение или чтение/запись для обработчика файла.
Синтаксис
requestPermission(descriptor)
Параметры
descriptorНеобязательно-
Объект, который определяет режим разрешения, который нужно запросить. Доступные варианты:
'mode'Необязательно-
Может быть либо
'read'или'readwrite'.
Возвращаемое значение
Объект Promise, который разрешается с PermissionStatus.state, которое может быть одним из значений 'granted', 'denied' или 'prompt'. Он также может быть отклонен одним из исключений ниже.
Исключения
TypeError-
Выбрасывается, если не указан параметр или
modeне соответствует'read'или'readwrite' -
SecurityErrorDOMException -
Выбрасывается в следующих случаях:
- Метод был вызван в контексте, который не является одним и тем же сайтом, что и верхний уровень контекста (например, в 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;
}
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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