HTML5 BroadcastChannel API是在选项卡/窗口之间发送数据的绝佳解决方案。
他们是用 new BroadcastChannel(name)
打开的并通过拨打 .close()
关闭功能。
但是,它没有提供有关如何查看现有打开的广播 channel 的说明。如果我正在动态创建 BroadcastChannels(不是使用固定的 channel 名称),查看当前打开的 BroadcastChannels 非常有用。
一个 search on Google ("view existing broadcast channels javascript")查看前三个结果( 1 、 2 、 3 )都没有提供有关如何查看所有打开的广播 channel 的指示。
我试过查看 BroadcastChannel
interface但它不提供任何 .listOpenedChannels()
函数或任何类似的东西。
如何查看现有打开的广播 channel ?
最佳答案
一个 BroadcastChannel
对象存储为 window
的属性,因此您可以遍历所有窗口属性并查找对象类型“BroadcastChannel”。
MDN 有一个关于此的部分:
下
Real-world usage
.这是一个简化版本:
bc1 = new BroadcastChannel('test_channel1');
bc2 = new BroadcastChannel('test_channel2');
bc3 = new BroadcastChannel('test_channel3');
for (p in window) if (Object.prototype.toString.call(window[p]).slice(8,-1)=='BroadcastChannel') console.log(p);
关于javascript - 如何使用 JavaScript 查看已打开的广播 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67611301/