RTCIceTransport:statechange 事件
当 RTCIceTransport
状态发生变化时,会发生statechange
事件。可以使用 state
来确定在成功连接两个 WebRTC 通信对等体之前,检查、验证和选择有效候选对的过程进行到什么程度。
此事件不可取消,也不冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("statechange", (event) => {});
onstatechange = (event) => {};
事件类型
一个通用的 Event
。
示例
给定一个 RTCPeerConnection
,pc
,以下代码创建了一个事件处理程序,如果 ICE 传输进入失败状态,则调用名为 handleFailure()
的函数。
js
let iceTransport = pc.getSenders()[0].transport.iceTransport;
iceTransport.addEventListener(
"statechange",
(ev) => {
if (iceTransport.state === "failed") {
handleFailure(pc);
}
},
false,
);
使用 onstatechange
事件处理程序属性的相同代码如下所示
js
let iceTransport = pc.getSenders()[0].transport.iceTransport;
iceTransport.onstatechange = (ev) => {
if (iceTransport.state === "failed") {
handleFailure(pc);
}
};
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # event-icetransport-statechange |
WebRTC:浏览器中的实时通信 # dom-rtcicetransport-onstatechange |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。