Window:showDirectoryPicker() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Window
接口的 showDirectoryPicker()
方法用于显示一个目录选择器,以允许用户选择一个目录。
语法
js
showDirectoryPicker()
参数
options
可选-
选项对象,包含以下属性:
id
可选-
通过指定 ID,浏览器可以为不同的 ID 记住不同的目录。如果相同的 ID 用于另一个选择器,则该选择器将在同一目录中打开。
mode
可选-
字符串,默认为
"read"
,用于只读访问,或"readwrite"
用于读写访问。 startIn
可选-
一个
FileSystemHandle
对象或者代表某个众所周知的目录的字符串(如:"desktop"
、"documents"
、"downloads"
、"music"
、"pictures"
、"videos"
),用于指定选择器的起始目录。
返回值
一个 Promise
对象,会兑现一个 FileSystemDirectoryHandle
对象。
异常
AbortError
DOMException
-
当用户未经选择直接关闭了目录选择器,或用户代理认为选择的目录过于敏感或者危险,或指定
mode
中选择的目录的PermissionStatus.state
不是"granted"
,则抛出此异常。 SecurityError
DOMException
-
如果调用被同源策略阻止,或者不是通过用户交互(例如按下按钮)调用,则抛出该异常。
安全性
瞬态用户激活是必需的。用户必须与页面或 UI 元素进行交互才能使该特性正常运行。
示例
以下异步函数可以显示一个目录选择器并在用户选择后返回一个 FileSystemDirectoryHandle
对象。
js
async function getDir() {
const dirHandle = await window.showDirectoryPicker();
// 操作 dirHandle 的后续代码
}
规范
Specification |
---|
File System Access # api-showdirectorypicker |
浏览器兼容性
BCD tables only load in the browser