我正在测试BroadcastChannel功能,但遇到了麻烦。我打开两个 Chrome 窗口以及每个窗口的开发工具。我在控制台上写:
const z = new BroadcastChannel('blarg')
z.onmessage = function (ev) {console.log(ev)}
Run Code Online (Sandbox Code Playgroud)
我可以检查 z ,它已将函数保存到 onmessage 属性中,因此一切看起来都不错。然而,当我测试时:
z.postMessage('sweet')
Run Code Online (Sandbox Code Playgroud)
在其中一个控制台中,另一个控制台中没有任何显示。我希望由于两个 Chrome 窗口都订阅了广播频道blarg,并且具有控制台记录发布消息的功能,因此我会看到该消息sweet显示在另一个控制台中,但没有任何反应。
那么两个问题:
我不能BroadcastChannel像这样在开发工具控制台中测试界面吗?
如果是这样,我对 BroadcastChannel 的工作原理缺少什么?