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-/Schreibrechte für das File-Handle an.
Syntax
requestPermission(descriptor)
Parameter
descriptorOptional-
Ein Objekt, das den Berechtigungsmodus spezifiziert, der abgefragt werden soll. Die Optionen sind wie folgt:
'mode'Optional-
Kann entweder
'read','write'oder'readwrite'sein.
Rückgabewert
Ein Promise, das mit PermissionStatus.state aufgelöst wird, was entweder 'granted', 'denied' oder 'prompt' ist. Es kann auch mit einer der untenstehenden Ausnahmen fehlschlagen.
Ausnahmen
TypeError-
Wird ausgelöst, wenn kein Parameter angegeben wird oder der
modenicht'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 mit dem Top-Level-Kontext ist (d.h. eine Cross-Origin-iframe).
- Es gab keine vorübergehende Benutzeraktivierung wie einen Tastendruck. Dies schließt ein, wenn das Handle sich in einem Nicht-Window-Kontext befindet, der keine Benutzeraktivierung konsumieren kann, wie etwa ein Worker.
Sicherheit
Vorübergehende Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion arbeitet.
Beispiele
Die folgende asynchrone Funktion fordert Berechtigungen an, falls diese nicht bereits 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> |
Browser-Kompatibilität
Loading…