Window: showDirectoryPicker() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

Window 介面的 showDirectoryPicker() 方法會顯示一個目錄選擇器,允許使用者選擇一個目錄。

語法

js
showDirectoryPicker()
showDirectoryPicker(options)

引數

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();

  // run code for dirHandle
}

規範

規範
檔案系統訪問
# api-showdirectorypicker

瀏覽器相容性

另見