11
如果您有兩個瀏覽器選項卡打開到Soundcloud頁面或帶有Soundcloud iFrame的頁面,並且一個選項卡正在播放,當您在另一個選項卡上按播放時,它會暫停第一個選項卡。 Howe到底是如何實現的?SoundCloud如何暫停其他標籤?
如果您有兩個瀏覽器選項卡打開到Soundcloud頁面或帶有Soundcloud iFrame的頁面,並且一個選項卡正在播放,當您在另一個選項卡上按播放時,它會暫停第一個選項卡。 Howe到底是如何實現的?SoundCloud如何暫停其他標籤?
它使用本地存儲來實現此目的。它存儲在每個選項卡中播放或暫停的所有歌曲的JSON數據。只要您播放另一首歌曲,所有其他歌曲的播放狀態都會設置爲在本地存儲器內暫停播放。很可能會觸發一個localStorage事件,它會檢查哪些歌曲需要暫停並暫停播放。
哇,'localStorage'立即更新多個標籤和廣播事件之間?我想這是有道理的,只是從來沒有想過這種情況。整齊。 –
@AlexWayne也適用於Cookie。那麼,不是廣播事件的一部分。結合'setInterval'之類的東西,在這種情況下,它可以用作傳統瀏覽器的後備。 – danronmoon