A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/zh-CN/docs/Web/API/FileSystemObserver/observe below:

FileSystemObserver:observe() 方法 - Web API

FileSystemObserver:observe() 方法

安全上下文: 此项功能仅在一些支持的浏览器的安全上下文(HTTPS)中可用。

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格。

非标准: 该特性尚未标准化。我们不建议在生产环境中使用非标准特性,因为它们在浏览器中的支持有限,且可能发生变化或被移除。不过,在没有标准选项的特定情况下,它们可以作为合适的替代方案。

FileSystemObserver 接口的 observe() 方法要求观察器开始观察给定文件或目录的变化。

语法
observe(handle)
observe(handle, options)
参数
handle

表示要观察的文件或目录的文件系统条目的句柄。

options 可选

指定 observe() 调用的选项的对象。它可以包含以下属性:

recursive

一个布尔值,指定是否要递归观察目录的更改。如果设置为 true,则会观察目录本身及其包含的所有子目录和文件的更改。如果设置为 false,则仅观察目录本身及其直接包含的文件的更改(即,不包括子目录中的文件)。默认为 false。如果 handle 表示文件,则此属性无效。

返回值

兑现为 undefined 的 Promise。

异常
NotFoundError DOMException

如果找不到 handle 所表示的文件或目录,则抛出此异常。

示例 观察文件或目录

假设 FileSystemObserver 实例可用,你可以通过调用 observe() 开始观察文件系统条目的变化。

你可以通过向 observe() 传入 FileSystemFileHandle 或 FileSystemDirectoryHandle 来观察用户可观察文件系统或源私有文件系统(OPFS)中的文件或目录。例如,当要求用户使用 Window.showSaveFilePicker() 或 Window.showDirectoryPicker() 选择文件或目录时,可以返回这些对象的实例:

// 观察文件
async function observeFile() {
  const fileHandle = await window.showSaveFilePicker();

  await observer.observe(fileHandle);
}

// 观察目录
async function observeDirectory() {
  const directoryHandle = await window.showDirectoryPicker();

  await observer.observe(directoryHandle);
}

你还可以通过将 FileSystemSyncAccessHandle 传递给 observe() 来观察 OPFS 的变化:

// 观察 OPFS 文件系统条目
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);
}
递归观察目录

要递归地观察目录,请调用 observe() 并将 recursive 选项设置为 true:

// 递归观察目录
async function observeDirectory() {
  const directoryHandle = await window.showDirectoryPicker();

  await observer.observe(directoryHandle, { recursive: true });
}
规范

目前不属于任何规范。相关规范 PR 请参阅 https://github.com/whatwg/fs/pull/165。

浏览器兼容性 参见

RetroSearch 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