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 und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.

Die Methode removeRecursively() des FileSystemDirectoryEntry-Interfaces entfernt das Verzeichnis sowie dessen gesamten Inhalt, indem es hierarchisch den gesamten Unterbaum von nachfolgenden Dateien und Verzeichnissen durchgeht.

Um eine einzelne Datei oder ein leeres Verzeichnis zu entfernen, können Sie auch FileSystemEntry.remove() verwenden.

Syntax

js
removeRecursively(successCallback)
removeRecursively(successCallback, errorCallback)

Parameter

successCallback

Eine Funktion, die aufgerufen wird, sobald der Prozess der Verzeichnisentfernung abgeschlossen ist. Der Callback hat keine Parameter.

errorCallback Optional

Eine Funktion, die aufgerufen wird, wenn ein Fehler auftritt, während versucht wird, den Verzeichnisunterbaum zu entfernen. 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 einzelnen Parameter aufgerufen: einem DOMException-Objekt, das den Fehler beschreibt. Der DOMException.code gibt an, welche Art von Fehler aufgetreten ist:

DOMException.INVALID_MODIFICATION_ERR

Ein Versuch wurde unternommen, das Stammverzeichnis zu entfernen; dies ist nicht erlaubt.

DOMException.NO_MODIFICATION_ALLOWED_ERR

Der Zustand des Dateisystems erlaubt keine Modifikation.

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 dessen Inhalt sind möglicherweise nicht sicher von einer Webanwendung aus zugänglich.
  • Es werden zu viele Dateisystemaufrufe gemacht.
  • Andere Sicherheitsbedenken, die vom Benutzeragenten oder dem Betriebssystem erhoben 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 ein Fehler beim Löschen mehrerer Dateien auftritt, könnten einige Dateien nicht gelöscht werden. Sie sollten einen errorCallback bereitstellen, um dies zu überwachen und zu behandeln, vielleicht indem Sie es erneut versuchen.

Beispiele

js
directory.removeRecursively(
  () => {
    /* The directory was removed successfully */
  },
  () => {
    /* an error occurred while removing the directory */
  },
);

Browser-Kompatibilität

Siehe auch