即使在更改页面时也可继续播放音乐

时间:2012-12-18 08:27:58

标签: html5 backbone.js

SoundCloud是一个使用HTML5和Backbone.js的网站。唯一的问题是,我找不到他们使用的技术,即使在更换页面时也能让音乐继续播放。

他们使用什么技术来播放音频流?

1 个答案:

答案 0 :(得分:21)

事实是,您没有加载新页面,但内容是通过AJAX加载的。

然后,该页面使用HTML5 History API添加浏览器使用浏览器的向后和向前按钮的可能性。

我通过阅读并尝试以下两个资源开始讨论这个主题:

http://diveintohtml5.info/history.html
http://html5demos.com/history


最简单的方法是通过AJAX加载和替换当前内容,然后调用

history.pushState(null, null, link.href);

为了添加当前显示页面的历史记录条目。

如果您现在按后退按钮,浏览器将不会加载上一页,而是触发事件popState。这可以用于使用AJAX或存储在JavaScript变量中的信息来恢复上一页。

window.addEventListener("popstate", function(e) {
    //loadPreviousPage();
}