У меня есть рабочее соединение WebRTC в Chrome.Он использует 1 канал данных как часть приложения чата.
Я хочу также поддерживать Firefox, поэтому мне нужно изменить некоторые неподдерживаемые события: для RTCPeerConnection , а также для DataChannel .
Изменения в канале данных работали, как и ожидалось:
//chrome implenetation
dc.onopen = this.conncectionStats.bind(this);
dc.onmessage = onMessage;
// chrome and firefox
dc.addEventListener('open', (event) => {
this.conncectionStats.bind(this)
});
dc.addEventListener('message', (event) => {
onMessage(event)
});
Однако проблема возникает при изменении PeerConnection:
// chrome implenetation
pc.onconnectionstatechange = this.onConnectionStateChange.bind(this);
// chrome and firefox
pc.addEventListener('onconnectionstatechange', (event) => {
console.log("onconnectionstatechange fired")
this.onConnectionStateChange.bind(this);
})
Событие никогда не происходит.Есть идеи, почему это так?
Событие должно быть правильно , но, с другой стороны, документация отсутствует в MDN Web Docs .