HID 设备:sendFeatureReport() 方法

有限可用性

此功能不是基线功能,因为它在一些最广泛使用的浏览器中无法正常工作。

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细检查浏览器兼容性表

sendFeatureReport()HIDDevice接口的一个方法,用于向 HID 设备发送特征报告。特征报告是 HID 设备和应用程序交换非标准化 HID 数据的一种方式。

此设备支持的每个报告格式的reportId都可以从HIDDevice.collections中检索。

语法

js
sendFeatureReport(reportId, data)

参数

reportId

一个 8 位的报告 ID。如果 HID 设备不使用报告 ID,则发送0

data

字节,作为ArrayBufferTypedArrayDataView

返回值

一个Promise,一旦报告发送成功,该 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 waitFor(100);
  // Turn on
  await device.sendFeatureReport(reportId, Uint32Array.from([512, 0]));
  await waitFor(100);
}

规范

规范
WebHID API
# dom-hiddevice-sendfeaturereport

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。