BroadcastChannel
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 inWeb Workers.
TheBroadcastChannel interface represents a named channel that anybrowsing context of a givenorigin can subscribe to. It allows communication between different documents (in different windows, tabs, frames or iframes) of the same origin. Messages are broadcasted via amessage event fired at allBroadcastChannel objects listening to the channel, except the object that sent the message.
In this article
Constructor
BroadcastChannel()Creates an object linking to the named channel.
Instance properties
This interface also inherits properties from its parent,EventTarget.
BroadcastChannel.nameRead onlyReturns 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.
messageFired when a message arrives on the channel.Also available via the
onmessageproperty.messageerrorFired when a message arrives that can't be deserialized.Also available via the
onmessageerrorproperty.
Specifications
| Specification |
|---|
| HTML> # broadcasting-to-other-browsing-contexts> |
Browser compatibility
See also
- Another, more heavyweight, way of communicating between browser contexts:
ServiceWorker. - Broadcast Channel API overview