RTCDataChannel: close 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 close Ereignis wird an den onclose Ereignishandler einer RTCDataChannel Instanz gesendet, wenn der Datentransport für den Datenkanal geschlossen wurde. Bevor weitere Daten über RTCDataChannel übertragen werden können, muss eine neue 'RTCDataChannel' Instanz erstellt werden.

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("close", (event) => {});

onclose = (event) => {};

Ereignistyp

Ein generisches Event.

Beispiele

Dieses Beispiel richtet einen Handler für das close Ereignis des RTCDataChannel namens dc ein. Seine Aufgabe in diesem Beispiel besteht darin, die Benutzeroberfläche so zu aktualisieren, dass angezeigt wird, dass kein Anruf mehr läuft, und es zu ermöglichen, einen neuen Anruf zu starten.

js
dc.addEventListener(
  "close",
  (ev) => {
    messageInputBox.disabled = true;
    sendButton.disabled = true;
    connectButton.disabled = false;
    disconnectButton.disabled = true;
  },
  false,
);

Der gesamte Code bewirkt, dass in Antwort auf das close Ereignis ein Eingabefeld und dessen "Senden"-Button deaktiviert werden, während der Button, der zum Starten eines Anrufs verwendet wird, aktiviert wird (und der zum Beenden eines Anrufs deaktiviert wird).

Sie können auch die onclose Ereignishandler-Eigenschaft verwenden, um einen Handler für close Ereignisse einzurichten:

js
dc.onclose = (ev) => {
  messageInputBox.disabled = true;
  sendButton.disabled = true;
  connectButton.disabled = false;
  disconnectButton.disabled = true;
};

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# event-datachannel-close
WebRTC: Real-Time Communication in Browsers
# dom-rtcdatachannel-onclose

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch