廣播頻道 API
學習使用廣播頻道 API 進行一對多通訊的基礎知識
通道訊息 API 是一個很好的方式,可以從視窗發送訊息到 iframe,從視窗發送訊息到 Web Worker 等等。
廣播頻道 API 可以用於發送一對多訊息,同時與多個實體進行通訊。
你可以通過初始化一個 BroadcastChannel 物件來開始:
1  | const channel = new BroadcastChannel('thechannel');  | 
要在頻道上發送訊息,可以使用 postMessage() 方法:
1  | channel.postMessage('嘿!');  | 
訊息可以是以下任何支援的值:
- 所有的基元類型,除了符號類型
 - 數組
 - 物件字面量
 - 字串、日期、正則表達式 物件
 - Blob、
File、FileList物件 ArrayBuffer、ArrayBufferView物件- FormData 物件
 - ImageData 物件
 - Map 和 Set 物件
 
要從頻道接收訊息,可以監聽 message 事件:
1  | channel.onmessage = (event) => {  | 
除了發送訊息的來源外,此事件將針對所有聽眾觸發。
你可以使用以下方法關閉頻道:
1  | channel.close();  | 
tags: [“廣播頻道”, “通訊”, “API”, “訊息通訊”]