概述 BroadcastChannel 允许同源的多个上下文(标签页、iframe、Service Worker)在命名频道上相互通信。适用于登录态更新、主题切换、队列控制等需要跨页面同步的场景。 示例 ```js const ch = new BroadcastChannel('session') ch.onmessage = e => { if (e.data.type === 'logout') { doLogout() } } // 发送消息 ch.postMessage({ type: 'logout' }) // 关闭频道 ch.close() ``` 工程建议 - 频道命名:按功能划分频道;避免全局滥用导致噪声与冲突。 - 冲突与一致性:定义消息语义与优先级;对并发更新进行去重与最后写入胜出策略。 - 安全:仅在同源上下文使用;不要传递敏感数据给不可信子文档。 参考与验证 - MDN BroadcastChannel 文档:https://developer.mozilla.org/docs/Web/API/BroadcastChannel - HTML 规范相关部分:https://html.spec.whatwg.org/
点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
网站二维码

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
/* 跳过导航链接 (无障碍) */ position: absolute; top: -100px; left: 15px; z-index: 99999; padding: 8px 16px; background: #007bff; color: #fff; font-size: 14px; border-radius: 0 0 4px 4px; text-decoration: none; transition: top 0.2s; } top: 0; outline: 3px solid #0056b3; }