Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. FileSystemChangeRecord

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

FileSystemChangeRecord

DasFileSystemChangeRecord-Wörterbuch derFile System API enthält Details zu einer einzelnen Änderung, die von einemFileSystemObserver beobachtet wurde.

Dasrecords-Argument, das an die Rückruffunktion des KonstruktorsFileSystemObserver() übergeben wird, ist ein Array vonFileSystemChangeRecord-Objekten.

Instanz-Eigenschaften

changedHandle

Eine Referenz auf den Dateisystem-Handle, bei dem die Änderung beobachtet wurde.

Diese Eigenschaft wirdnull sein für Aufzeichnungen mit einem Typ"disappeared","errored" oder"unknown".

relativePathComponents

Ein Array, das die Pfadkomponenten enthält, die den relativen Dateipfad vomroot zumchangedHandle bilden, einschließlich deschangedHandle-Dateinamens.

relativePathMovedFrom

Ein Array, das die Pfadkomponenten enthält, die den relativen Dateipfad vomroot zum früheren Speicherort deschangedHandle bilden, im Fall von Beobachtungen mit einem Typ"moved". Wenn der Typ nicht"moved" ist, wird diese Eigenschaftnull sein.

root

Eine Referenz auf den root-Dateisystem-Handle, also den, der an denobserve()-Aufruf übergeben wurde, der die Beobachtung gestartet hat. Auch hier kann es sich um einFileSystemFileHandle,FileSystemDirectoryHandle oderFileSystemSyncAccessHandle handeln.

type

Ein String, der den Typ der beobachteten Änderung darstellt. Mögliche Werte sind:

appeared

Die Datei oder das Verzeichnis wurde erstellt oder in dieroot-Dateistruktur verschoben.

disappeared

Die Datei oder das Verzeichnis wurde gelöscht oder aus derroot-Dateistruktur verschoben. Um herauszufinden, welche Datei oder welches Verzeichnis verschwunden ist, können Sie die EigenschaftrelativePathComponents abfragen.

errored

Ein Fehlerzustand ist im beobachteten Verzeichnis aufgetreten. Dies kann eintreten, wenn:

  • Die Beobachtung nicht mehr gültig ist. Dies kann geschehen, wenn der beobachtete Handle (also derroot der Beobachtung) gelöscht oder verschoben wird. In diesem Fall wird eine"disappeared"-Beobachtung aufgezeichnet, gefolgt von einer"errored"-Beobachtung. In solchen Fällen können Sie die Beobachtung des Dateisystems möglicherweise mitFileSystemObserver.disconnect() beenden.
  • Das Maximum an Beobachtungen pro Origin erreicht ist. Diese Grenze hängt vom Betriebssystem ab und ist im Voraus nicht bekannt. Wenn dies passiert, kann die Seite entscheiden, erneut zu versuchen, obwohl es keine Garantie gibt, dass das Betriebssystem genügend Ressourcen freigeben wird.
  • Die Berechtigung zum Zugriff auf das Verzeichnishandle oder Dateihandle entfernt wird.
modified

Die Datei oder das Verzeichnis wurde geändert.

moved

Die Datei oder das Verzeichnis wurde innerhalb der root-Dateistruktur verschoben.

Hinweis:Unter Windows werden"moved"-Beobachtungen nicht zwischen Verzeichnissen unterstützt. Sie werden als"disappeared"-Beobachtung im Quellverzeichnis und als"appeared"-Beobachtung im Zielverzeichnis gemeldet.

unknown

Gibt an, dass einige Beobachtungen verpasst wurden. Wenn Sie Informationen darüber erhalten möchten, was sich in den verpassten Beobachtungen geändert hat, können Sie möglicherweise auf das Abfragen des beobachteten Verzeichnisses zurückgreifen.

Abhängig vom Betriebssystem werden nicht alle Beobachtungen mit dem gleichen Detailgrad gemeldet, zum Beispiel wenn sich die Inhalte eines Verzeichnisses rekursiv ändern. Im besten Fall erhält die Website einen detaillierten Änderungsbericht, der den Typ der Änderung und einen Handle zum betroffenen Pfad enthält. Im schlimmsten Fall erhält die Website einen eher generischen Änderungsbericht (d.h. einen"unknown" Typ), der dennoch eine Aufzählung des Verzeichnisses erfordert, um herauszufinden, welcher Handle sich geändert hat.

Dies ist dennoch eine Verbesserung gegenüber dem Abfragen, da die Verzeichnisauflistung bedarfsgerecht aus der Rückruffunktion heraus gestartet werden kann, anstatt die Änderungen periodisch abzufragen.

Beispiele

Initialisieren einesFileSystemObserver

Bevor Sie beginnen können, Änderungen an Dateien oder Verzeichnissen zu beobachten, müssen Sie einenFileSystemObserver initialisieren, um die Beobachtungen zu handhaben. Dies erfolgt mit demFileSystemObserver()-Konstruktor, der eine Rückruffunktion als Argument nimmt:

js
const observer = new FileSystemObserver(callback);

DerRückruffunktion-Körper kann spezifiziert werden, um Dateisystemänderungen auf beliebige Weise zurückzugeben und zu verarbeiten. Jedes Objekt imrecords-Array ist einFileSystemChangeRecord-Objekt:

js
const callback = (records, observer) => {  for (const record of records) {    console.log("Change detected:", record);    const reportContent = `Change observed to ${record.changedHandle.kind} ${record.changedHandle.name}. Type: ${record.type}.`;    sendReport(reportContent); // Some kind of user-defined reporting function  }  observer.disconnect();};

Spezifikationen

Ist derzeit nicht Teil einer Spezifikation. Siehehttps://github.com/whatwg/fs/pull/165 für den relevanten Spezifikations-PR.

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp