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

浏览器兼容性