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

js
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ện messageerror chứa DOMException DataCloneError.

Giá trị trả về

Không có.

Ngoại lệ

InvalidStateError DOMException

Phát sinh nếu BroadcastChannel đã bị đóng trước đó.

DataCloneError DOMException

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