Safari隐私标签页中BroadcastChannel API的onMessage事件为何不触发?
Safari隐私窗口中BroadcastChannel API的使用限制
是的,Safari的隐私浏览模式对BroadcastChannel API存在明确的隔离限制:
- 隐私窗口与普通窗口属于完全独立的浏览器上下文,两者无法通过BroadcastChannel进行跨上下文消息通信,这就是你在隐私窗口中无法触发
onMessage事件的原因——普通窗口发送的消息无法穿透到隐私窗口的上下文里。 - 这种限制是Safari隐私保护机制的一部分,目的是彻底隔离隐私窗口与普通窗口的数据和通信,防止隐私窗口内的行为或数据被普通窗口的脚本获取,反之亦然。
- 注意:隐私窗口内部的BroadcastChannel功能是正常的——同一隐私窗口下的不同标签页之间,仍然可以通过BroadcastChannel正常收发消息,只是无法和普通窗口的上下文互通。
内容的提问来源于stack exchange,提问作者prasadmsvs
相关产品推荐
相关产品推荐

