The connectionstatechange event is sent to the ontrack event handler on an RTCPeerConnection object after a new track has been added to an RTCRtpReceiver which is part of the connection. The new connection state can be found in connectionState, and is one of the strings in the RTCPeerConnectionState enumerated type.
| Bubbles | No |
|---|---|
| Cancelable | No |
| Interface | Event |
| Event handler | onconnectionstatechange |
Examples
For an RTCPeerConnection, pc, this example sets up a handler for connectionstatechange messages to handle changes to the connectivity of the WebRTC session. It simply calls an app-defined function called setOnlineStatus() to update a status display.
pc.onconnectionstatechange = ev => {
switch(pc.connectionState) {
case "new":
case "checking":
setOnlineStatus("Connecting...");
break;
case "connected":
setOnlineStatus("Online");
break;
case "disconnected":
setOnlineStatus("Disconnecting...");
break;
case "closed":
setOnlineStatus("Offline");
break;
case "failed":
setOnlineStatus("Error");
break;
default:
setOnlineStatus("Unknown");
break;
}
}
You can also create a handler for connectionstatechange by using addEventListener():
pc.addEventListener("connectionstatechange", ev => {
switch(pc.connectionState) {
/* ... */
}
}, false);
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between Browsers The definition of 'connectionstatechange' in that specification. |
Candidate Recommendation | Initial specification. |
Browser compatibility
No compatibility data found. Please contribute data for "event.RTCPeerConnection.connectionstatechange_event" (depth: 1) to the MDN compatibility data repository.
