FileSystemHandle: queryPermission() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die queryPermission()
Methode der FileSystemHandle
Schnittstelle fragt den aktuellen Berechtigungsstatus des aktuellen Handles ab.
Syntax
queryPermission(descriptor)
Parameter
descriptor
Optional-
Ein Objekt, das den Berechtigungsmodus spezifiziert, der abgefragt werden soll. Optionen sind wie folgt:
'mode'
Optional-
Kann entweder
'read'
oder'readwrite'
sein.
Rückgabewert
Ein Promise
, das mit PermissionStatus.state
aufgelöst wird, welches entweder 'granted'
, 'denied'
oder 'prompt'
ist. Es kann auch mit einer der unten stehenden Ausnahmen abgelehnt werden.
Wenn dieses mit "prompt" aufgelöst wird, muss die Website requestPermission()
aufrufen, bevor irgendwelche Operationen auf dem Handle durchgeführt werden können. Wenn dieses mit "denied" aufgelöst wird, werden alle Operationen abgelehnt. Normalerweise werden Handles, die von den lokalen Dateisystem-Handle-Fabriken zurückgegeben werden, anfänglich mit "granted" für ihren Lesezustand aufgelöst. Allerdings wird ein Handle, das aus dem IndexedDB abgerufen wird, auch wahrscheinlich mit "prompt" aufgelöst, außer die Berechtigung wird vom Benutzer widerrufen.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
mode
mit einem anderen Wert als'read'
oder'readwrite'
spezifiziert wird.
Beispiele
Die folgende asynchrone Funktion gibt true
zurück, wenn der Benutzer Lese- oder Lese-/Schreibberechtigungen für das Datei-Handle gewährt hat. Falls nicht, wird die Berechtigung angefordert.
// 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;
}
Spezifikationen
Specification |
---|
File System Access # api-filesystemhandle-querypermission |