USB: requestDevice() 方法
注意:此功能在 Web Workers 中可用。
requestDevice() 是 USB 介面的一個方法,如果找到指定的裝置,它會返回一個 Promise,該 Promise 會解析為 USBDevice 例項。呼叫此函式會觸發使用者代理的配對流程。
語法
js
requestDevice(options)
引數
返回值
安全
需要瞬時使用者啟用。使用者必須與頁面或 UI 元素進行互動才能使此功能正常工作。
示例
下面的示例查詢兩種 USB 裝置之一。請注意,指定了兩個產品 ID。它們都被傳遞給了 requestDevice()。這會觸發使用者代理流程,提示使用者選擇一個裝置進行配對。只有選定的裝置才會被傳遞給 then()。
過濾器的數量並不決定使用者代理顯示的裝置數量。例如,如果只找到一個產品 ID 為 0xa800 的 USB 裝置,那麼使用者代理只會列出這一個裝置。另一方面,如果使用者代理找到第一個列出的裝置有兩個,第二個裝置有一個,那麼所有三個裝置都會被列出。
js
const filters = [
{ vendorId: 0x1209, productId: 0xa800 },
{ vendorId: 0x1209, productId: 0xa850 },
];
navigator.usb
.requestDevice({ filters })
.then((usbDevice) => {
console.log(`Product name: ${usbDevice.productName}`);
})
.catch((e) => {
console.error(`There is no device. ${e}`);
});
規範
| 規範 |
|---|
| WebUSB API # dom-usb-requestdevice |
瀏覽器相容性
載入中…