A statechange event occurs when the RTCIceTransport changes state. The state can be used to determine how far through the process of examining, verifying, and selecting a valid candidate pair is prior to successfully connecting the two peers for WebRTC communications.
| Bubbles | No |
|---|---|
| Cancelable | No |
| Interface | Event |
| Event handler property | RTCIceTransport.onstatechange |
Examples
Given an RTCPeerConnection, pc, the following code creates an event handler that calls a function named handleFailure() if the ICE transport enters a failure state.
let iceTransport = pc.getSenders()[0].transport.iceTransport;
iceTransport.addEventListener("statechange", ev => {
if (iceTransport.state === "failed") {
handleFailure(pc);
}
}, false);
The same code, using the onstatechange event handler property, looks like this:
let iceTransport = pc.getSenders()[0].transport.iceTransport;
iceTransport.onstatechange = ev => {
if (iceTransport.state === "failed") {
handleFailure(pc);
}
};
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between Browsers The definition of 'statechange' in that specification. |
Candidate Recommendation |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
statechange event | Chrome No support No | Edge No support No | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
Legend
- No support
- No support
See also
- WebRTC API
- WebRTC connectivity
RTCIceTransport.onstatechangeevent handler
