我正在网站上设置广播/流媒体播放器。播放器可以是带有/或对象(type="application/x-shockwave-flash"
)或<audio>
元素的iframe,位于侧边栏中的文档内,在网站上重复。当流正在播放并且您浏览到该网站的另一个站点的任何链接时,由于加载了该站点,该流明显被中断。
我希望玩家继续玩,即使我通过链接(例如点击HOME)浏览到网站的其他部分,就像SoundCloud和Hypem一样。我知道这些网站是通过使用ajax刷新网站的其余部分并让玩家不受影响来实现的。
我的问题是,还有另一种方法可以让这个iframe / object / audio元素继续播放吗?
答案 0 :(得分:0)
切换到下一页后,原始页面上的所有内容都将被销毁并停止运行。没有直接解决这个问题的方法。正如您所说,其他网站的工作方式是不实际切换页面。
保持音频运行的常用方法是为播放器使用弹出窗口。这样,音频播放器页面仍然存在。您甚至可以从其他页面与它进行通信。 (查看JunoDownload.com示例。)这通常不是一个好方法,因为许多弹出窗口阻止程序只是阻止所有弹出窗口。大多数弹出窗口阻止程序仅阻止在用户操作之外启动的弹出窗口,因此如果您有一个“播放”按钮启动弹出窗口,大多数用户仍然可以获得它。这是一个坏主意的另一个原因是因为它有点刺激用户体验。
另一种方法是简单地将链接目标设置为_blank
,在新标签或窗口中打开它们。请注意,只能从播放器页面的链接中执行此操作。
最后,一些网站会不断将回放状态发布到服务器。在下一页上,如果在上一页上播放了一首歌曲,则会在最后一页停止的位置启动一个新播放器。这有点令人讨厌,因为音乐会在播放器加载时停止一段时间。