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.
Интерфейс BroadcastChannel
представляет собой именованный канал, на который можно подписаться из любого контекста просмотра данного источника. Это позволяет настроить коммуникацию между разными документами (в разных окнах, вкладках, фреймах и т.д.) одного источника. Сообщения распространяются с помощью события message
, выстреливающего для всех объектов BroadcastChannel
, слушающих этот канал.
Примечание: Эта возможность доступна в Web Workers.
Конструктор
BroadcastChannel()
-
Создаёт объект, связанный с именованным каналом.
Свойства
Этот интерфейс также наследует свойства от своего родителя, EventTarget
.
BroadcastChannel.name
-
Возвращает
DOMString
, имя канала.
Обработчики событий
BroadcastChannel.onmessage
-
event handler
свойство, определяющее функцию, которая будет запущена, когда произойдёт вызов событияmessage
на этом объекте. BroadcastChannel.onmessageerror
-
event handler
, который вызывается, когда приходитMessageEvent
типаMessageError
— когда приходит сообщение, которое не может быть десереализовано.
Методы
Этот интерфейс также наследует свойства от своего родителя,EventTarget
.
BroadcastChannel.postMessage()
-
Отправляет сообщение любого типа объекта всем объектам
BroadcastChannel
, прослушивающим данный канал. BroadcastChannel.close()
-
Закрывает объект канала, указывая, что тот больше не будет получать новые сообщения, и позволяет сборщику мусора уничтожить его.
Спецификации
Specification |
---|
HTML Standard # broadcasting-to-other-browsing-contexts |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Another, more heavyweight, way of communicating between browser contexts:
ServiceWorker
. - Broadcast Channel API overview