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. 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.
Das FileSystemObserver
-Interface der File System API bietet eine Möglichkeit, Ãnderungen am benutzerbezogenen Dateisystem und dem Origin Private File System (OPFS) zu beobachten. Dadurch müssen Webanwendungen das Dateisystem nicht regelmäÃig abfragen, um Ãnderungen an Dateien oder der Ordnerstruktur zu erkennen, was zeitaufwändig und ineffizient sein kann.
FileSystemObserver()
Experimentell Nicht standardisiert
Erstellt eine neue Instanz des FileSystemObserver
.
disconnect()
Experimentell Nicht standardisiert
Beendet das Beobachten des Dateisystems.
observe()
Experimentell Nicht standardisiert
Beginnt mit der Beobachtung von Ãnderungen an einer angegebenen Datei oder einem Verzeichnis.
Hinweis: Für ein vollständiges funktionierendes Beispiel, schauen Sie sich die File System Observer Demo (Quellcode) an.
Initialisieren einesFileSystemObserver
Bevor Sie mit der Beobachtung von Datei- oder Verzeichnisänderungen beginnen können, müssen Sie einen FileSystemObserver
initialisieren, um die Beobachtungen zu verwalten. Dies erfolgt mit dem FileSystemObserver()
-Konstruktor, der eine Callback-Funktion als Argument nimmt:
const observer = new FileSystemObserver(callback);
Der Rückruffunktion-Körper kann festgelegt werden, um Rückmeldungen zu Dateiänderungen auf jede gewünschte Weise zu verarbeiten:
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();
};
Beobachten einer Datei oder eines Verzeichnisses
Sobald eine FileSystemObserver
-Instanz verfügbar ist, können Sie Ãnderungen an einem Dateisystemeintrag beobachten, indem Sie die Methode FileSystemObserver.observe()
aufrufen.
Sie können eine Datei oder ein Verzeichnis im benutzerbezogenen 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, mit Window.showSaveFilePicker()
oder Window.showDirectoryPicker()
eine Datei oder ein Verzeichnis 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);
}
Beenden der Beobachtung des Dateisystems
Wenn Sie die Beobachtung von Ãnderungen am Dateisystemeintrag beenden möchten, können Sie FileSystemObserver.disconnect()
aufrufen:
Gehört derzeit nicht zu einer Spezifikation. Siehe https://github.com/whatwg/fs/pull/165 für den relevanten Spezifikations-PR.
Browser-Kompatibilität Siehe auchRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4