Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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():

js
addEventListener("open", (event) => { })

Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
onopen = (event) => { }

Ereignistyp

Ein RTCDataChannelEvent. Erbt von Event.

Event RTCDataChannelEvent

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.

js
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.

js
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