为何RTCPeerConnection对象的connectionState属性无法访问?
问题原因分析

根据MDN文档,RTCPeerConnection拥有connectionState属性(通过返回特定字符串表示对等连接的当前状态)。但你的JavaScript程序无法识别该属性,Firefox开发者工具控制台中也未显示该属性——可查看截图中的curPeerConnection变量,原因主要有以下几点:
- Firefox版本过低:
connectionState是WebRTC后续新增的汇总式连接状态属性,旧版本的Firefox并未实现该API。检查当前浏览器版本,升级到较新的稳定版后即可正常访问该属性。 - 需使用旧版状态属性替代:在
connectionState推出之前,WebRTC通过iceConnectionState(ICE连接链路的状态)和signalingState(信令协商的状态)两个属性分别描述连接的不同维度状态。如果暂时无法升级浏览器,可以改用这两个属性获取对应状态信息。 - 确认属性是否真的不被支持:可在控制台执行
'connectionState' in curPeerConnection来快速验证当前环境是否支持该属性,排除因变量作用域、拼写错误等非兼容性问题导致的识别失败。
内容的提问来源于stack exchange,提问作者Tobic
相关产品推荐
相关产品推荐

