FileSystemObserver: observe() Methode
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
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 observe()
-Methode der FileSystemObserver
-Schnittstelle fordert den Beobachter auf, Änderungen an einer bestimmten Datei oder einem Verzeichnis zu beobachten.
Syntax
observe(handle)
observe(handle, options)
Parameter
handle
-
Der Handle des Dateisystemeintrags, der die zu beobachtende Datei oder das Verzeichnis darstellt.
- Für das benutzerbeobachtbare Dateisystem kann dies ein
FileSystemFileHandle
oder einFileSystemDirectoryHandle
sein. - Für das Origin Private File System (OPFS) kann es ein
FileSystemFileHandle
, einFileSystemDirectoryHandle
oder einFileSystemSyncAccessHandle
sein.
- Für das benutzerbeobachtbare Dateisystem kann dies ein
options
Optional-
Ein Objekt, das Optionen für den
observe()
-Aufruf angibt. Dies kann die folgenden Eigenschaften enthalten:recursive
-
Ein boolescher Wert, der angibt, ob Sie Änderungen an einem Verzeichnis rekursiv beobachten möchten. Wenn auf
true
gesetzt, werden Änderungen im Verzeichnis selbst und in allen enthaltenen Unterverzeichnissen und Dateien beobachtet. Wenn auffalse
gesetzt, werden Änderungen nur im Verzeichnis selbst und in direkt enthaltenen Dateien beobachtet (das heißt, Dateien in Unterverzeichnissen sind ausgeschlossen). Standardmäßigfalse
.Diese Eigenschaft hat keine Auswirkung, wenn
handle
eine Datei darstellt.
Rückgabewert
Ausnahmen
NotFoundError
DOMException
-
Ausgelöst, wenn die Datei oder das Verzeichnis, das durch
handle
repräsentiert wird, nicht gefunden werden konnte.
Beispiele
Eine Datei oder ein Verzeichnis beobachten
Wenn eine Instanz von FileSystemObserver
verfügbar ist, können Sie Änderungen an einem Dateisystemeintrag beobachten, indem Sie observe()
aufrufen.
Sie können eine Datei oder ein Verzeichnis im benutzerbeobachtbaren Dateisystem oder im Origin Private File System (OPFS) beobachten, indem Sie ein FileSystemFileHandle
oder FileSystemDirectoryHandle
an observe()
übergeben. Instanzen dieser Objekte können beispielsweise zurückgegeben werden, wenn der Benutzer aufgefordert wird, eine Datei oder ein Verzeichnis mit Window.showSaveFilePicker()
oder Window.showDirectoryPicker()
auszuwählen:
// Observe a file
async function observeFile() {
const fileHandle = await window.showSaveFilePicker();
await observer.observe(fileHandle);
}
// Observe a directory
async function observeDirectory() {
const directoryHandle = await window.showDirectoryPicker();
await observer.observe(directoryHandle);
}
Sie können auch Änderungen am OPFS beobachten, indem Sie ein FileSystemSyncAccessHandle
an observe()
übergeben:
// Observe an OPFS file system entry
async function observeOPFSFile() {
const root = await navigator.storage.getDirectory();
const draftHandle = await root.getFileHandle("draft.txt", { create: true });
const syncHandle = await draftHandle.createSyncAccessHandle();
await observer.observe(syncHandle);
}
Ein Verzeichnis rekursiv beobachten
Um ein Verzeichnis rekursiv zu beobachten, rufen Sie observe()
mit der Option recursive
auf true
gesetzt auf:
// Observe a directory recursively
async function observeDirectory() {
const directoryHandle = await window.showDirectoryPicker();
await observer.observe(directoryHandle, { recursive: true });
}
Spezifikationen
Derzeit nicht Teil einer Spezifikation. Siehe https://github.com/whatwg/fs/pull/165 für den relevanten Spezifikations-PR.
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
observe |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- In development. Supported in a pre-release version.
- In development. Supported in a pre-release version.
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Non-standard. Check cross-browser support before using.
Siehe auch
- File System API
- Die Datei-Systembeobachter-API Origin Trial auf developer.chrome.com (2024)