RTCPeerConnection.ondatachannel

Experimental: 这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

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

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

语法

RTCPeerConnection.ondatachannel = function;

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

示例

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 Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
RTCPeerConnection.ondatachannel
Candidate Recommendation Initial specification.

浏览器支持

No compatibility data found for api.RTCPeerConnection.ondatachannel.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

相关阅读