SerialPort:connect 事件

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

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

注意:此功能在 专用 Web Workers 中可用。

SerialPort 接口的 connect 事件在端口连接到设备时触发。

描述

更具体地说,在用户在 Serial.requestPort() 调用后授予网站访问端口的权限后,当端口与设备**逻辑连接**时,就会触发 connect 事件。

  • 对于有线串行端口,这发生在端口物理连接到设备时,例如通过 USB。
  • 对于无线串行端口(例如,蓝牙 RFCOMM),这发生在端口与设备建立一个或多个活动连接时(例如,通过蓝牙 L2CAP 通道)。

事件冒泡

此事件会冒泡到返回此接口的 Serial 实例。event.target 属性引用冒泡上来的 SerialPort 对象。

有关更多信息,请参阅 事件冒泡

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("connect", (event) => { })

onconnect = (event) => { }

事件类型

一个通用的 Event

示例

通知特定端口连接

Serial.requestPort() 方法返回一个 Promise,该 Promise 解析为一个由用户选择的 SerialPort 对象。

js
// Prompt user to choose a serial port
const port = await navigator.serial.requestPort();

port.addEventListener("connect", (event) => {
  // notify that the chosen port is connected
});

监听任何新连接的端口

connect 事件会冒泡到 Serial 对象,您可以在此监听任何新连接的端口。

js
navigator.serial.addEventListener("connect", (event) => {
  // notify that a new port is available
  // use `event.target` to refer to the newly-added port
});

规范

规范
Web Serial API
# dfn-connect
Web Serial API
# dom-serialport-onconnect

浏览器兼容性

另见