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.