RTCPeerConnection.ondatachannel

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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

RTCPeerConnection.ondatachannel 属性是一个事件处理器,当 datachannel 事件在 RTCPeerConnection 发生时,它指定的那个事件处理函数就会被调用。这个事件继承于 RTCDataChannelEvent,当远方伙伴调用 createDataChannel() 时这个事件被加到这个连接(RTCPeerConnection)中。

在这个事件被收到的同时,这个 RTCDataChannel 实际上并没有打开,确保在 open 这个事件在RTCDataChannel触发以后才去使用它。

语法

RTCPeerConnection.ondatachannel = function;

将这个属性设置为接受一个参数的函数:这个参数是一个RTCDataChannelEvent,它的 channel 属性是一个已经创建了的RTCDataChannel对象

示例

js
pc.ondatachannel = function (ev) {
  console.log("Data channel is created!");
  ev.channel.onopen = function () {
    console.log("Data channel is open and ready to be used.");
  };
};

规范

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-ondatachannel

浏览器兼容性

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
datachannel event

Legend

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

Full support
Full support

参见