onsignalingstatechange
event handler property of the
RTCPeerConnection
interface specifies a function to be called when the
signalingstatechange
event occurs on an
RTCPeerConnection
接口。
The function receives as input the event object of type
事件
; this event is sent when the peer connection's
signalingState
changes, which may happen either because of a call to
setLocalDescription()
or to
setRemoteDescription()
.
rtcPeerConnection.onsignalingstatechange = errorHandler;
Set this to a function which you provide that receives an
事件
object as input; this contains the
signalingstatechange
event. This event object doesn't provide details about what changed, but you can examine the
signalingState
property to determine what the new state is.
You may also, as always, set up a handler for the
signalingstatechange
event using
addEventListener()
:
myRTCPeerConnection.addEventListener("signalingstatechange", mySignalingStateChangeHandler);
Or, using an anonymous (inline) handler:
myRTCPeerConnection.addEventListener("signalingstatechange", event => {
/* handle the event here */
});
This snippet shows a handler for
signalingstatechange
that looks for the
"have-local-pranswer"
signaling state—indicating that a remote offer has been received and a local description of type
"pranswer"
has been applied in response.
pc.onsignalingstatechange = function(event) {
if (pc.signalingState === "have-local-pranswer") {
// setLocalDescription() has been called with an answer
}
};
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCPeerConnection.onsignalingstatechange' in that specification. |
候选推荐 | 最初的规范。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
onsignalingstatechange
|
Chrome 28 | Edge 15 | Firefox 22 | IE No |
Opera
43
|
Safari 11 | WebView Android Yes | Chrome Android 28 | Firefox Android 44 |
Opera Android
43
|
Safari iOS Yes | Samsung Internet Android 6.0 |
完整支持
不支持
见实现注意事项。
signalingstatechange
event and its type,
事件
.
RTCPeerConnection
canTrickleIceCandidates
connectionState
currentLocalDescription
currentRemoteDescription
getDefaultIceServers()
iceConnectionState
iceGatheringState
localDescription
onaddstream
onconnectionstatechange
ondatachannel
onicecandidate
oniceconnectionstatechange
onicegatheringstatechange
onidentityresult
onidpassertionerror
onidpvalidationerror
onnegotiationneeded
onpeeridentity
onremovestream
onsignalingstatechange
ontrack
peerIdentity
pendingLocalDescription
pendingRemoteDescription
remoteDescription
sctp
signalingState
addIceCandidate()
addStream()
addTrack()
close()
createAnswer()
createDataChannel()
createOffer()
generateCertificate()
getConfiguration()
getIdentityAssertion()
getReceivers()
getSenders()
getStats()
getStreamById()
getTransceivers()
removeStream()
removeTrack()
restartIce()
setConfiguration()
setIdentityProvider()
setLocalDescription()
setRemoteDescription()
MediaDevices.getUserMedia()
Navigator.mediaDevices
RTCCertificate
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCDataChannel
RTCDataChannelEvent
RTCDtlsTransport
RTCErrorEvent
RTCIceCandidate
RTCIceTransport
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
RTCSctpTransport
RTCSessionDescription
RTCStatsEvent
RTCStatsReport
RTCTrackEvent