This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
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.
Constructor
BroadcastChannel()- Creates an object linking to the named channel.
Properties
This interface also inherits properties from its parent, EventTarget.
BroadcastChannel.name- Returns a
DOMString, the name of the channel. BroadcastChannel.onmessage- Is an
EventHandlerproperty that specifies the function to execute when amessageevent is fired on this object.
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.
Specifications
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'BroadcastChannel' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 54.0 | 38 (38) | No support | 41 | No support |
| Available in workers | 54.0 | 38 (38) | No support | 41 | No support |
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|
| Basic support | No support | No support | 38.0 (38) | No support | 41 | No support | 54.0 |
| Available in workers | No support | No support | 38.0 (38) | No support | 41 | No support | 54.0 |
See also
- Another, more heavyweight, way of communicating between browser contexts:
ServiceWorker. - Broadcast Channel API overview