RTCDataChannel:close 事件

当数据通道的数据传输关闭时,close 事件将发送到 RTCDataChannel 实例的 onclose 事件处理程序。在使用 RTCDataChannel 传输任何其他数据之前,必须创建一个新的 'RTCDataChannel' 实例。

此事件不可取消,也不冒泡。

语法

addEventListener() 等方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("close", (event) => {});

onclose = (event) => {};

事件类型

一个通用的 Event

示例

此示例为名为 dcRTCDataChannel 设置了 close 事件的处理程序;在此示例中,它的职责是更新用户界面元素以反映不再有正在进行的呼叫,并允许启动新的呼叫。

js
dc.addEventListener(
  "close",
  (ev) => {
    messageInputBox.disabled = true;
    sendButton.disabled = true;
    connectButton.disabled = false;
    disconnectButton.disabled = true;
  },
  false,
);

此代码在接收到 close 事件后所做的所有工作就是禁用输入框及其“发送”按钮,并启用用于启动呼叫的按钮(同时禁用用于结束呼叫的按钮)。

您还可以使用 onclose 事件处理程序属性为 close 事件设置处理程序

js
dc.onclose = (ev) => {
  messageInputBox.disabled = true;
  sendButton.disabled = true;
  connectButton.disabled = false;
  disconnectButton.disabled = true;
};

规范

规范
WebRTC:浏览器中的实时通信
# event-datachannel-close
WebRTC:浏览器中的实时通信
# dom-rtcdatachannel-onclose

浏览器兼容性

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

另请参阅