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

View in English Always switch to English

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 ⁨2020年1月⁩.

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

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

浏览器兼容性

参见