BroadcastChannel
Baseline 2022
Newly available
Since March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Note: This feature is available in Web Workers.
The BroadcastChannel interface represents a named channel that any browsing context of a given origin can subscribe to. It allows communication between different documents (in different windows, tabs, frames or iframes) of the same origin. Messages are broadcasted via a message event fired at all BroadcastChannel objects listening to the channel, except the object that sent the message.
Constructor
BroadcastChannel()-
Creates an object linking to the named channel.
Instance properties
This interface also inherits properties from its parent, EventTarget.
BroadcastChannel.nameRead only-
Returns a string, the name of the channel.
Instance methods
This interface also inherits methods from its parent, EventTarget.
BroadcastChannel.postMessage()-
Sends the message, of any type of object, to each
BroadcastChannelobject listening to the same channel. BroadcastChannel.close()-
Closes the channel object, indicating it won't get any new messages, and allowing it to be, eventually, garbage collected.
Events
This interface also inherits events from its parent, EventTarget.
message-
Fired when a message arrives on the channel. Also available via the
onmessageproperty. messageerror-
Fired when a message arrives that can't be deserialized. Also available via the
onmessageerrorproperty.
Specifications
| Specification |
|---|
| HTML Standard # broadcasting-to-other-browsing-contexts |
Browser compatibility
BCD tables only load in the browser
See also
- Another, more heavyweight, way of communicating between browser contexts:
ServiceWorker. - Broadcast Channel API overview