BroadcastChannel: sự kiện message
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
Note: This feature is available in Web Workers.
Sự kiện message của giao diện BroadcastChannel được kích hoạt khi một thông điệp đến trên kênh đó.
Cú pháp
Dùng tên sự kiện này trong các phương thức như addEventListener(), hoặc thiết lập một thuộc tính xử lý sự kiện.
addEventListener("message", (event) => { })
onmessage = (event) => { }
Kiểu sự kiện
Một MessageEvent. Kế thừa từ Event.
Thuộc tính sự kiện
Ngoài các thuộc tính được liệt kê bên dưới, còn có các thuộc tính từ giao diện cha Event.
dataRead only-
Dữ liệu được bộ phát thông điệp gửi đi.
originRead only-
Một chuỗi biểu diễn nguồn gốc của bộ phát thông điệp.
lastEventIdRead only-
Một chuỗi biểu diễn mã nhận dạng duy nhất của sự kiện.
sourceRead only-
Một nguồn sự kiện thông điệp, là một đối tượng WindowProxy,
MessagePorthoặcServiceWorkerbiểu diễn bộ phát thông điệp. portsRead only-
Một mảng các đối tượng
MessagePortbiểu diễn các cổng gắn với kênh mà thông điệp đang được gửi qua (khi phù hợp, ví dụ trong channel messaging hoặc khi gửi thông điệp tới shared worker).
Ví dụ
Trong ví dụ này có một <iframe> "sender" phát đi nội dung của một <textarea> khi người dùng nhấn nút. Có hai iframe "receiver" lắng nghe thông điệp quảng bá và ghi kết quả vào một phần tử <div>.
Sender
const channel = new BroadcastChannel("example-channel");
const messageControl = document.querySelector("#message");
const broadcastMessageButton = document.querySelector("#broadcast-message");
broadcastMessageButton.addEventListener("click", () => {
channel.postMessage(messageControl.value);
});
Receiver 1
const channel = new BroadcastChannel("example-channel");
channel.addEventListener("message", (event) => {
received.textContent = event.data;
});
Receiver 2
const channel = new BroadcastChannel("example-channel");
channel.addEventListener("message", (event) => {
received.textContent = event.data;
});
Kết quả
Thông số kỹ thuật
| Specification |
|---|
| HTML> # event-message> |
| HTML> # handler-broadcastchannel-onmessage> |
Tương thích trình duyệt
Xem thêm
- Sự kiện liên quan:
messageerror.