此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

HIDDevice:collections 属性

有限可用

此特性不属于基线,因为它尚未在主流浏览器中得到支持。

安全上下文: 此特性仅在一些支持的浏览器的安全上下文(HTTPS)中可用。

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格。

备注: 此特性在 Web Worker(不包括共享 Web Worker)中可用。

HIDDevice 接口的 collections 只读属性返回报告格式的数组。

值

一个报告格式数组,每个条目包含以下内容:

usagePage

一个整数,表示请求设备的 HID 用途中的用途页面组件。顶级集合的用途用于识别设备类型。

可以在 HID 使用表文档中找到标准 HID 用途值。

usage

一个整数,表示此集合关联的 HID 用途中的用途 ID 组件。

type

一个 8 位值,表示集合类型,描述分组条目之间的不同关系。为以下值之一:

0x00

物理(Physical)(轴组)

0x01

应用(Application)(鼠标、键盘)

0x02

逻辑(Logical)(相关数据)

0x03

报告(Report)

0x04

具名数组

0x05

用途开关

0x06

修改后的用途

0x07 到 0x7F

保留供未来使用

0x80 到 0xFF

供应商定义

有关这些类型的更多信息,请参阅设备类定义文档。

children

一个子集合数组,采用与顶级集合相同的格式。

inputReports

一个 inputReport 项数组,表示此集合中描述的各个输入报告。

outputReports

一个 outputReport 项数组,表示此集合中描述的各个输出报告。

featureReports

一个 featureReport 项数组,表示此集合中描述的各个特征报告。

示例

以下示例演示如何在返回 collections 属性后访问各个元素。你可以在文章连接到不常见的 HID 设备中看到更多示例和实时演示。

js
for (const collection of device.collections) {
  // 一个 HID 集合包括用途、用途页面、报告和子集合。
  console.log(`用途:${collection.usage}`);
  console.log(`用途页面:${collection.usagePage}`);

  for (const inputReport of collection.inputReports) {
    console.log(`输入报告:${inputReport.reportId}`);
    // 遍历 inputReport.items
  }

  for (const outputReport of collection.outputReports) {
    console.log(`输出报告:${outputReport.reportId}`);
    // 遍历 outputReport.items
  }

  for (const featureReport of collection.featureReports) {
    console.log(`特征报告:${featureReport.reportId}`);
    // 遍历 featureReport.items
  }

  // 使用 collection.children 遍历子集合
}

规范

规范
WebHID
# dom-hiddevice-collections

浏览器兼容性