SoundCloud如何暂停其他标签?

Zac*_*ack 12 javascript soundcloud

如果您有两个浏览器选项卡打开到Soundcloud页面,或者一个带有Soundcloud iFrame的页面,其中一个选项卡正在播放,当您在另一个选项卡中按下播放时,它将暂停第一个.这究竟是如何实现的?

dan*_*oon 21

它使用本地存储来实现这一目标.它存储在每个选项卡中播放或暂停的所有歌曲的JSON数据.一旦您播放另一首歌曲,所有其他歌曲的播放状态将设置为暂停在本地存储中.最有可能的是,触发localStorage事件,检查哪些歌曲需要暂停并暂停.

在Chrome中查看Soundcloud本地存储

  • 哇,`localStorage`在多个标签和广播事件之间立即更新?我认为这是有道理的,只是没想过那个场景.整齐. (3认同)
  • @AlexWayne也适用于cookie.好吧,不是广播事件的一部分.结合"setInterval"等,在这种情况下,它可以用作旧版浏览器的后备. (3认同)