浏览器同时打开两个标签 https://music.163.com/
B 标签播放音乐,A 标签也播放音乐,B 标签会自动暂停
其中的原理是什么,两个标签之间是怎么通信的?
1
geelaw 2021-03-22 22:54:25 +08:00 via iPhone 1
不知道网易云怎么实现的,但想要实现还是很简单的,比如用 localStorage,每个页面打开的时候生成一个 GUID 并监听 localStorage 的变化。开始播放的时候设置 localStorage 里一项(比如 currentPlayer )为自己的 GUID ;如果这一项变化且变化后不是自己的 GUID 则暂停播放。
|
3
Misakas 2021-03-23 09:28:10 +08:00
浏览器提供了页面间通讯的 api [BroadcastChannel]( https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel)
|