| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/DirectoryReaderSync | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern untersttzt werden und sich in Zukunft ndern oder entfernt werden knnen. Unter Umstnden kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Das DirectoryReaderSync-Interface ermglicht es Ihnen, die Eintrge in einem Verzeichnis zu lesen.
Warnung: Dieses Interface ist veraltet und befindet sich nicht mehr auf dem Standardpfad. Verwenden Sie es nicht mehr. Verwenden Sie stattdessen die File and Directory Entries API.
Bevor Sie die einzige Methode in diesem Interface, readEntries(), aufrufen, erstellen Sie das DirectoryEntrySync-Objekt. Aber DirectoryEntrySync (sowie FileEntrySync) ist kein Datentyp, den Sie zwischen einer aufrufenden Anwendung und einem Web Worker-Thread bergeben knnen. Das ist kein groes Problem, da es nicht wirklich notwendig ist, dass die Hauptanwendung und der Worker-Thread dasselbe JavaScript-Objekt sehen; sie mssen nur auf dieselben Dateien zugreifen knnen. Sie knnen dies tun, indem Sie anstelle einer Liste von Eintrgen eine Liste von filesystem: URLs bergeben, die einfach Strings sind. Sie knnen auch die filesystem: URL verwenden, um den Eintrag mit resolveLocalFileSystemURL() nachzuschlagen. Das bringt Sie zurck zu einem DirectoryEntrySync (sowie FileEntrySync)-Objekt.
Im folgenden Codeausschnitt von HTML5Rocks (web.dev) erstellen wir Web Worker und bergeben Daten von diesen an die Hauptanwendung.
// Taking care of the browser-specific prefixes.
window.resolveLocalFileSystemURL =
window.resolveLocalFileSystemURL || window.webkitResolveLocalFileSystemURL;
// Create web workers
const worker = new Worker("worker.js");
worker.onmessage = (e) => {
const urls = e.data.entries;
urls.forEach((url) => {
window.resolveLocalFileSystemURL(url, (fileEntry) => {
// Print out file's name.
console.log(fileEntry.name);
});
});
};
worker.postMessage({ cmd: "list" });
Das Folgende ist der worker.js-Code, der den Inhalt des Verzeichnisses abrufen kann.
// worker.js
// Taking care of the browser-specific prefixes.
self.requestFileSystemSync =
self.webkitRequestFileSystemSync || self.requestFileSystemSync;
// Global for holding the list of entry file system URLs.
const paths = [];
function getAllEntries(dirReader) {
const entries = dirReader.readEntries();
for (const entry of entries) {
// Stash this entry's filesystem in URL
paths.push(entry.toURL());
// If this is a directory, traverse.
if (entry.isDirectory) {
getAllEntries(entry.createReader());
}
}
}
// Forward the error to main app.
function onError(e) {
postMessage(`ERROR: ${e.toString()}`);
}
self.onmessage = (e) => {
const cmd = e.data.cmd;
// Ignore everything else except our 'list' command.
if (!cmd || cmd !== "list") {
return;
}
try {
const fs = requestFileSystemSync(TEMPORARY, 1024 * 1024 /* 1MB */);
getAllEntries(fs.root.createReader());
self.postMessage({ entries: paths });
} catch (e) {
onError(e);
}
};
Gibt eine Liste von Eintrgen aus einem bestimmten Verzeichnis zurck. Rufen Sie diese Methode so lange auf, bis ein leeres Array zurckgegeben wird.
readEntries()
Keine.
Array, das FileEntrySync und DirectoryEntrySync enthlt.
Diese Methode kann eine DOMException mit den folgenden Codes auslsen:
| Ausnahme | Beschreibung |
|---|---|
NOT_FOUND_ERR |
Das Verzeichnis existiert nicht. |
INVALID_STATE_ERR |
Das Verzeichnis wurde seit dem ersten Aufruf von readEntries gendert. |
SECURITY_ERR |
Der Browser hat festgestellt, dass es nicht sicher war, die Metadaten nachzuschlagen. |
Dieses Feature ist nicht mehr Teil einer Spezifikation. Es ist nicht mehr auf dem Weg, ein Standard zu werden.
DirectoryReaderSyncDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |