RTCDataChannelEvent - 表示一个 datachannel 事件
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
RTCDataChannelEvent() 构造函数返回一个新的 RTCDataChannelEvent 对象,该对象表示一个 datachannel 事件。这些事件在其远程对等方要求打开两个对等方之间的 RTCDataChannel 时发送到 RTCPeerConnection。
您很少会手工构造一个 RTCDataChannelEvent。相反,WebRTC 层会在适当的时候生成并交付给您。只需监听 RTCPeerConnection 接收到的 datachannel 事件,然后在接收到该事件时,请使用 RTCDataChannelEvent.channel 属性访问已打开的数据通道。
构造函数
RTCDataChannelEvent()
RTCDataChannelEvent() 构造函数创建一个新的 RTCDataChannelEvent。
属性
也从以下接口继承了属性:Event
channel 只读
只读属性 RTCDataChannelEvent.channel 返回与事件关联的 RTCDataChannel。
方法
此接口没有方法,但是从以下接口继承了方法:Event
实例
在此实例中,datachannel 的事件处理程序,用于保存数据通道引用,为需要监视的事件设置处理程序。 channel 属性表示 RTCDataChannel ,表示与另一个对等方的连接。
pc.ondatachannel = function(event) {
inboundDataChannel = event.channel;
inboundDataChannel.onmessage = handleIncomingMessage;
inboundDataChannel.onopen = handleChannelOpen;
inboundDataChannel.onclose = handleChannelClose;
}
有关如何使用数据通道的另一个更完整的示例,请参见一个简单的 RTCDataChannel 实例。
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between Browsers RTCDataChannelEvent 的定义 |
候选推荐 | 初始定义。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 支持 | 未知 | 22 | 不支持 | 支持 | 支持 |
RTCDataChannelEvent() 构造函数 | 57 | 未知 | 22 | 不支持 | 44 | 未知 |
channel | 支持 | 未知 | 22 | 不支持 | 支持 | 支持 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 支持 | 28 | 未知 | 22 | 未知 | 支持 | 支持 |
RTCDataChannelEvent() 构造函数 | 57 | 57 | 未知 | 22 | 未知 | 43 | 未知 |
channel | 支持 | 28 | 未知 | 22 | 未知 | 支持 | 支持 |