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;
}
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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