BroadcastChannel 适合解决什么跨标签通信问题?
使用 BroadcastChannel 在同源窗口、标签页和 Worker 之间广播消息,理解来源、生命周期和数据一致性边界。
参考答案
BroadcastChannel 让同源的窗口、标签页、iframe 和部分 Worker 通过频道名广播结构化消息。它适合通知其他标签刷新数据、同步登录状态变化或协调简单的 UI 状态。
它不是可靠消息队列,也不保证历史消息会被新打开的页面补收。发送者不会收到自己通过同一对象发出的消息;关闭频道后应停止监听,避免页面生命周期结束后保留对象引用。
跨标签同步仍要处理消息乱序、重复、版本不兼容和同时修改。关键数据应以服务端或持久化存储为准,消息只作为“可能需要重新读取”的通知。