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.


RTCDataChannel.onclose = function;


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.


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... */


Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browser
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 Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? 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

Document Tags and Contributors

 Contributors to this page: Sheppy, jpmedley, teoli
 Last updated by: Sheppy,