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():
addEventListener("close", (event) => { })
Alternativ können Sie der Ereignishandler-Eigenschaft der Schnittstelle einen Handler zuweisen:
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.
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:
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
- WebRTC API
- Ein einfaches RTCDataChannel-Beispiel
- Verwandte Ereignisse:
open,messageunderror