RTCDataChannel: open-Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Das WebRTC-open-Ereignis wird an den onopen-Ereignishandler eines RTCDataChannel-Objekts gesendet, wenn der zugrunde liegende Transport geöffnet oder erneut geöffnet wird, der zum Senden und Empfangen der Nachrichten des Datenkanals verwendet wird.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergeleitet.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.

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

onopen = (event) => {};

Ereignistyp

Ereigniseigenschaften

Erbt auch Eigenschaften von seiner Elternschnittstelle, Event.

channel Nur lesbar

Gibt das RTCDataChannel zurück, das mit dem Ereignis verknüpft ist.

Beispiele

Dieses Beispiel fügt dem RTCDataChannel dc einen Handler für das open-Ereignis hinzu, der die Benutzeroberfläche so anpasst, dass angezeigt wird, dass ein Chatfenster nach dem Herstellen einer Verbindung bereit zur Verwendung ist. Es aktiviert das Nachrichten-Eingabefeld und die Sende-Schaltfläche sowie die Trennen-Schaltfläche und deaktiviert die Verbindungs-Schaltfläche. Schließlich wird das Nachrichten-Eingabefeld 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();
  },
  false,
);

Dies kann auch durch direktes Setzen des Werts der onopen-Ereignishandler-Eigenschaft des Kanals erfolgen.

js
dc.onopen = (ev) => {
  messageInputBox.disabled = false;
  sendMessageButton.disabled = false;
  disconnectButton.disabled = false;
  connectButton.disabled = true;

  messageInputBox.focus();
};

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# event-datachannel-open
WebRTC: Real-Time Communication in Browsers
# dom-rtcdatachannel-onopen

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch