如何在浏览器中跨标签间进行无刷新通信

2023-12-21  本文已影响0人  码农私房菜

BroadcastChannel API用于在浏览器中实现跨标签页通信。它允许不同标签页之间以及同一浏览器会话中的所有标签页之间共享消息和数据。

/* 在A标签页中创建BroadcastChannel实例 */
const channel = new BroadcastChannel("自定义 "); // 名称需要与B页统一,否则监听不到
/* 监听来自其他标签页的消息 */
channel.onmessage = function(event){
    console.log( "监听到消息: ", event.data);
};
/* 广播消息到B标签页 */
channel.postMessage("你好 B ,收到回复!");

/* 在B标签页中创建BroadcastChannel实例 */
const channel = new BroadcastChannel("自定义 "); // 名称需要与A页统一,否则监听不到
/* 监听来自其他标签页的消息 */
channel.onmessage = function(event){
    console.log("监听到消息: ", event.data);
    /* 接收到消息后,给A页面回文 */
    channel.postMessage( "你好A,  消息已收到" );
};

/* 广播消息到所有同域标签页 */
channel.postMessage( 'Hello World" );
上一篇下一篇

猜你喜欢

热点阅读