HIDDevice: sendFeatureReport() 方法

可用性有限

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

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

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

注意:此功能在 Web Workers 中可用,但 共享 Web Workers 除外。

sendFeatureReport() 方法是 HIDDevice 介面的一部分,用於將特性報告發送到 HID 裝置。特性報告是 HID 裝置與應用程式之間交換非標準化 HID 資料的一種方式。

該裝置支援的每種報表格式的 reportId 可以從 HIDDevice.collections 中檢索。

語法

js
sendFeatureReport(reportId, data)

引數

reportId

一個 8 位報表 ID。如果 HID 裝置不使用報表 ID,則傳送 0

data

ArrayBufferTypedArrayDataView 的形式提供的位元組。

返回值

一個 Promise,報告發送完成後會以 undefined 解析。

異常

NotAllowedError DOMException

如果因任何原因傳送報告失敗,則丟擲此錯誤。

示例

在以下示例中,sendFeatureReport() 使裝置閃爍。您可以在文章 連線不常見的 HID 裝置 中看到更多示例和即時演示。

js
const reportId = 1;
for (let i = 0; i < 10; i++) {
  // Turn off
  await device.sendFeatureReport(reportId, Uint32Array.from([0, 0]));
  await new Promise((resolve) => setTimeout(resolve, 100));
  // Turn on
  await device.sendFeatureReport(reportId, Uint32Array.from([512, 0]));
  await new Promise((resolve) => setTimeout(resolve, 100));
}

規範

規範
WebHID API
# dom-hiddevice-sendfeaturereport

瀏覽器相容性