HIDDevice:forget() 方法

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

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

HIDDevice 接口的 forget() 方法会关闭 HID 设备的连接并忘记该设备。

语法

js
forget()

参数

无。

返回值

一个 Promise,会在连接关闭、设备被遗忘且权限重置时兑现为 undefined

示例

在以下示例中,我们将连接到一个任天堂(Nintendo)Switch 的 Joy-Con 右手柄 HID 设备,使其闪烁一次,然后断开与它的连接。

js
async function blink() {
  const devices = await navigator.hid.requestDevice({
    filters: [
      {
        vendorId: 0x057e, // 任天堂株式会社(Nintendo Co., Ltd)
        productId: 0x2007, // Joy-Con 右手柄
      },
    ],
  });
  const device = devices[0];
  await device.open();
  // 关闭
  await device.sendFeatureReport(reportId, Uint32Array.from([0, 0]));
  await new Promise((resolve) => setTimeout(resolve, 100));
  // 打开
  await device.sendFeatureReport(reportId, Uint32Array.from([512, 0]));
  await new Promise((resolve) => setTimeout(resolve, 100));
  // 最后,断开与它的连接
  await device.forget();
}
blink();

规范

Specification
WebHID API
# dom-hiddevice-forget

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
forget
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.