FileSystemHandle: requestPermission()-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 requestPermission()-Methode der FileSystemHandle-Schnittstelle fordert Lese- oder Lese-/Schreib-Berechtigungen für das Datei-Handle an.
Syntax
requestPermission(descriptor)
Parameter
descriptorOptional-
Ein Objekt, das den Berechtigungsmodus angibt, nach dem angefragt werden soll. Die Optionen sind wie folgt:
'mode'Optional-
Kann entweder
'read','write'oder'readwrite'sein.
Rückgabewert
Ein Promise, der mit PermissionStatus.state aufgelöst wird, welches eines von 'granted', 'denied' oder 'prompt' ist. Es kann auch mit einer der unten aufgeführten Ausnahmen abgelehnt werden.
Ausnahmen
TypeError-
Wird ausgelöst, wenn kein Parameter angegeben ist oder der
modekein'read','write'oder'readwrite'ist. SecurityErrorDOMException-
Wird in einem der folgenden Fälle ausgelöst:
- Die Methode wurde in einem Kontext aufgerufen, der nicht same-origin wie der oberste Kontext ist (d.h. ein Cross-Origin-iframe).
- Es gab keine flüchtige Benutzeraktivierung wie einen Tastendruck. Dies schließt ein, dass das Handle in einem Nicht-Fenster-Kontext ist, der keine Benutzeraktivierung verwenden kann, wie z.B. ein Worker.
Sicherheit
Eingeschränkte Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.
Beispiele
Die folgende asynchrone Funktion fordert Berechtigungen an, wenn diese noch nicht erteilt wurden.
// 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-requestpermission> |