RTCDataChannel: đóng sự kiện

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.

Sự kiện close được gửi đến trình xử lý sự kiện onclose trên phiên bản RTCDataChannel khi quá trình truyền dữ liệu cho kênh dữ liệu đã đóng. Trước khi có thể truyền thêm bất kỳ dữ liệu nào bằng RTCDataChannel, một phiên bản 'RTCDataChannel' mới phải được tạo.

Sự kiện này không thể hủy và không bong bóng.

Cú pháp

Sử dụng tên sự kiện trong các phương thức như addEventListener() hoặc đặt thuộc tính xử lý sự kiện.

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

onclose = (event) => { }

Loại sự kiện

Một [[[PH3]] chung chung.

Ví dụ

Ví dụ này thiết lập trình xử lý cho sự kiện close cho RTCDataChannel có tên dc; trách nhiệm của nó trong ví dụ này là cập nhật các thành phần giao diện người dùng để phản ánh rằng không còn cuộc gọi nào đang diễn ra nữa và cho phép bắt đầu cuộc gọi mới.

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

Tất cả những gì mã này thực hiện để phản hồi việc nhận sự kiện close là tắt hộp nhập liệu và nút "Gửi" của nó, đồng thời bật nút được sử dụng để bắt đầu cuộc gọi (đồng thời tắt nút kết thúc cuộc gọi).

Bạn cũng có thể sử dụng thuộc tính trình xử lý sự kiện onclose để đặt trình xử lý cho các sự kiện close:

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

Thông số kỹ thuật

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

Khả năng tương thích của trình duyệt

Xem thêm