W3cubDocs

/DOM

RTCDataChannel.onclose

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The RTCDataChannel.onclose property is an EventHandler which specifies a function to be called by the browser when the close event is received by the RTCDataChannel. This is a simple Event which indicates that the data channel has closed down.

Syntax

RTCDataChannel.onclose = function;

Value

A function which the browser will call to handle the close event. The function receives as its sole input parameter the event itself, as an object of type Event.

Example

In this sample from a hypothetical instant messaging client, a data channel is created, then handlers for the open and close events are set up to enable and disable user interface objects based on the state of the channel. This way, the message entry field and the send button are only enabled for use when the connection is actually open.

let pc = new RTCPeerConnection();
let dc = pc.createDataChannel("MessageChannel")}};

dc.onopen = function(event) {
  document.getElementById("messageBox").disabled = false;
  document.getElementById("sendButton").disabled = false;
};

dc.onclose = function(event) {
  document.getElementById("messageBox").disabled = true;
  document.getElementById("sendButton").disabled = true;
}

/* Now negotiate the connection, etc... */

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDataChannel.onclose' in that specification.
Working Draft Initial specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 24 (24) [1] No support (Yes) ?
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) 24 (24) [1] No support ? ?

[1] The interface is called DataChannel and not RTCDataChannel in Firefox. However, a binding has been in place since Firefox 24 so that either name will work.

See also

© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/onclose