FileSystemDirectoryEntry: removeRecursively() Methode
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
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 unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Die Methode removeRecursively()
des FileSystemDirectoryEntry
-Interfaces entfernt das Verzeichnis sowie dessen gesamten Inhalt, indem es hierarchisch über den gesamten Baum der untergeordneten Dateien und Verzeichnisse iteriert.
Um eine einzelne Datei oder ein leeres Verzeichnis zu entfernen, können Sie auch FileSystemEntry.remove()
verwenden.
Syntax
removeRecursively(successCallback)
removeRecursively(successCallback, errorCallback)
Parameter
successCallback
-
Eine Funktion, die aufgerufen wird, sobald der Verzeichnisentfernungsprozess abgeschlossen ist. Der Callback hat keine Parameter.
errorCallback
Optional-
Eine Funktion, die aufgerufen wird, wenn ein Fehler beim Versuch, den Verzeichnissubbaum zu entfernen, auftritt. Sie erhält eine
DOMException
, die den aufgetretenen Fehler beschreibt, als Eingabe.
Rückgabewert
Keiner (undefined
).
Ausnahmen
Wenn ein Fehler auftritt und ein errorCallback
angegeben wurde, wird dieser mit einem einzigen Parameter aufgerufen: ein DOMException
-Objekt, das den Fehler beschreibt. Der DOMException.code
gibt an, welcher Fehler aufgetreten ist, wie folgt:
DOMException.INVALID_MODIFICATION_ERR
-
Es wurde versucht, das Stammverzeichnis zu entfernen; dies ist nicht erlaubt.
DOMException.NO_MODIFICATION_ALLOWED_ERR
-
Der Zustand des Dateisystems erlaubt keine Änderung.
DOMException.NOT_FOUND_ERR
-
Das vom
FileSystemDirectoryEntry
dargestellte Verzeichnis existiert nicht mehr. DOMException.NOT_READABLE_ERR
-
Das Verzeichnis ist nicht zugänglich; möglicherweise wird es von einer anderen Anwendung verwendet oder ist auf Betriebssystemebene gesperrt.
DOMException.SECURITY_ERR
-
Das Verzeichnis konnte aus Sicherheitsgründen nicht entfernt werden. Mögliche Gründe sind:
- Das Verzeichnis und/oder sein Inhalt sind möglicherweise nicht sicher für den Zugriff von einer Webanwendung aus.
- Es werden zu viele Dateisystemaufrufe durchgeführt.
- Andere Sicherheitsbedenken, die vom User Agent oder dem Betriebssystem festgestellt werden.
Hinweis:
Wenn Sie versuchen, ein Verzeichnis zu löschen, das eine oder mehrere Dateien enthält, die nicht entfernt werden können, oder wenn beim Löschen einer Anzahl von Dateien ein Fehler auftritt, werden möglicherweise einige Dateien nicht gelöscht. Sie sollten einen errorCallback
bereitstellen, um dies zu überwachen und zu behandeln, möglicherweise indem Sie es erneut versuchen.
Beispiele
directory.removeRecursively(
() => {
/* The directory was removed successfully */
},
() => {
/* an error occurred while removing the directory */
},
);