BroadcastChannel: phương thức postMessage()
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.
Phương thức postMessage() của giao diện BroadcastChannel gửi một thông điệp, có thể là bất kỳ loại Object nào, tới từng trình lắng nghe trong mọi browsing context có cùng origin.
Thông điệp được truyền đi dưới dạng sự kiện message nhắm tới từng BroadcastChannel được gắn với kênh.
Cú pháp
postMessage(message)
Tham số
message-
Dữ liệu sẽ được gửi tới cửa sổ khác. Dữ liệu được tuần tự hóa bằng thuật toán structured clone. Điều này có nghĩa là bạn có thể truyền một phạm vi rất rộng các đối tượng dữ liệu tới cửa sổ đích một cách an toàn mà không cần tự tuần tự hóa chúng.
Note: Các ngữ cảnh thực thi có thể nhắn tin cho nhau có thể không nằm trong cùng một cụm agent, và vì vậy không thể chia sẻ bộ nhớ. Các đối tượng
SharedArrayBuffer, hoặc các khung nhìn bộ đệm được hậu thuẫn bởi một đối tượng như vậy, không thể được gửi qua các cụm agent. Nếu cố làm điều đó, đầu nhận sẽ phát sinh một sự kiệnmessageerrorchứaDOMExceptionDataCloneError.
Giá trị trả về
Không có.
Ngoại lệ
InvalidStateErrorDOMException-
Phát sinh nếu
BroadcastChannelđã bị đóng trước đó. DataCloneErrorDOMException-
Phát sinh nếu có bất kỳ phần nào của dữ liệu đầu vào không thể tuần tự hóa.
Thông số kỹ thuật
| Specification |
|---|
| HTML> # dom-broadcastchannel-postmessage-dev> |
Tương thích trình duyệt
Xem thêm
BroadcastChannel, giao diện mà phương thức này thuộc về.