RTCDataChannel: open-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Das WebRTC-Ereignis open wird an den onopen-Event-Handler eines RTCDataChannel-Objekts gesendet, wenn die zugrunde liegende Transportverbindung zum Senden und Empfangen von Nachrichten über den Datenkanal geöffnet oder erneut geöffnet wird.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht an übergeordnete Elemente weitergegeben.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("open", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:
onopen = (event) => { }
Ereignistyp
Ein RTCDataChannelEvent. Erbt von Event.
Beispiele
In diesem Beispiel wird dem RTCDataChannel dc ein Handler für das open-Ereignis hinzugefügt. Sobald die Verbindung hergestellt ist, passt er die Benutzeroberfläche an, um anzuzeigen, dass das Chatfenster verwendet werden kann. Dazu aktiviert er das Nachrichteneingabefeld, die Sende-Schaltfläche und die Trennen-Schaltfläche und deaktiviert die Verbinden-Schaltfläche. Abschließend wird das Nachrichteneingabefeld fokussiert, damit der Benutzer sofort mit der Eingabe beginnen kann.
dc.addEventListener("open", (ev) => {
messageInputBox.disabled = false;
sendMessageButton.disabled = false;
disconnectButton.disabled = false;
connectButton.disabled = true;
messageInputBox.focus();
});
Sie können dazu auch direkt die Event-Handler-Eigenschaft onopen des Kanals setzen. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onopen hinzugefügte Event-Listener ersetzt werden.
dc.onopen = (ev) => {
messageInputBox.disabled = false;
sendMessageButton.disabled = false;
disconnectButton.disabled = false;
connectButton.disabled = true;
messageInputBox.focus();
};
Spezifikationen
| Spezifikation |
|---|
| WebRTC: Real-Time Communication in Browsers> # event-datachannel-open> |
| WebRTC: Real-Time Communication in Browsers> # dom-rtcdatachannel-onopen> |
Browser-Kompatibilität
Siehe auch
- WebRTC-API
- Ein einfaches RTCDataChannel-Beispiel
- Verwandte Ereignisse:
message,closeunderror