19

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

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

4

1 回答 1

23

事实是,您不会加载新页面,而是通过 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();
}
于 2012-12-18T08:39:19.143 回答