RTCIceTransport: statechange 事件
當 RTCIceTransport 狀態改變時,會發生 statechange 事件。可以透過 state 屬性來確定在成功連線兩個對等端進行 WebRTC 通訊之前,檢查、驗證和選擇有效候選對的過程進行了多遠。
此事件不可取消,也不會冒泡。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("statechange", (event) => { })
onstatechange = (event) => { }
事件型別
一個通用的 Event。
示例
給定一個 RTCPeerConnection 物件 pc,以下程式碼建立一個事件處理程式,當 ICE transport 進入失敗狀態時,該處理程式會呼叫一個名為 handleFailure() 的函式。
js
let iceTransport = pc.getSenders()[0].transport.iceTransport;
iceTransport.addEventListener("statechange", (ev) => {
if (iceTransport.state === "failed") {
handleFailure(pc);
}
});
使用 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 |
瀏覽器相容性
載入中…