SoundCloud如何暂停其他标签页?

13

如果您在两个浏览器标签中打开了一个Soundcloud页面,或者带有Soundcloud iFrame的页面,并且其中一个标签正在播放音乐,在另一个标签中按下播放按钮将会暂停第一个标签的播放。这是如何实现的呢?

1个回答

23
它使用本地存储来实现这一点。它在每个标签页中存储已播放或暂停的所有歌曲的JSON数据。一旦您播放另一首歌曲,所有其他歌曲的播放状态都会在本地存储中设置为暂停。很可能触发了一个localStorage事件,检查哪些歌曲需要被暂停并将它们暂停。 在Chrome中查看Soundcloud本地存储

3
哇,localStorage 能在多个标签页之间立即更新并广播事件?我想这很有道理,只是以前从未考虑过这种情况。很棒。 - Alex Wayne
3
@AlexWayne也适用于Cookies。当然,不包括广播事件部分。如果与setInterval或类似的东西结合使用,在这种情况下它可以作为旧版浏览器的备用方案。 - danronmoon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接