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: close-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 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 weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

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

Alternativ können Sie der Ereignishandler-Eigenschaft der Schnittstelle einen Handler zuweisen:

js
onclose = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Dieses Beispiel richtet einen Handler für das close-Ereignis des RTCDataChannel namens dc ein. Der Handler aktualisiert Elemente der Benutzeroberfläche, um anzuzeigen, dass kein Anruf mehr läuft und ein neuer Anruf gestartet werden kann.

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

Als Reaktion auf das close-Ereignis deaktiviert dieser Code ein Eingabefeld und die zugehörige Schaltfläche „Senden“. Außerdem aktiviert er die Schaltfläche zum Starten eines Anrufs und deaktiviert die Schaltfläche zum Beenden eines Anrufs.

Sie können auch die onclose-Ereignishandler-Eigenschaft verwenden, um einen Handler für close-Ereignisse festzulegen. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onclose hinzugefügte Ereignis-Listener ersetzt werden:

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

Spezifikationen

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

Browser-Kompatibilität

Siehe auch