我喜欢SoundCloud和Vimeo如何同步各种标签,所以只要你开始在一个标签中播放内容,其他标签就会暂停。更有趣的是,当网站的两个实例打开时,这仅适用于SoundCloud,但对于Vimeo,甚至在Vimeo网站标签(带有视频播放)和嵌入在Verge上的Vimeo视频之间也会发生这种情况( http://www.theverge.com/2014/12/22/7433775/watch-the-styles-of-your-favorite-directors-recreated-with-stock)。然而,当Vimeo视频嵌入到Facebook上时(当我分享它时),它无法正常工作。
我想知道Javascript: sharing data between tabs上提到的其中一种技术是否在这里使用,如果是的话,为什么当Vimeo视频嵌入到Facebook上并且我有另一个播放Vimeo视频的标签时它不起作用。
答案 0 :(得分:1)
所以,我刚检查过,确实SoundCloud和Vimeo都使用localStorage解决方案。 Vimeo有一个名为sync_active
的{{3}}密钥,可以更新当前正在播放或最后播放的视频(如果所有视频都已暂停)。即使Vimeo视频嵌入在The Verge中,它们也有这个键,因此它也适用于此。但是在Facebook的情况下,Vimeo没有任何localStorage,因此没有同步发生。
对于SoundCloud,它还有一个来自https://f.vimeocdn.com的名为V2::local::inst_<id>
的密钥,它会更新为正在播放的选项卡。即使SoundCloud嵌入在The Verge中,它们也没有这个localStorage,因此只能在各种SoundCloud网站标签之间使用。