SoundCloud是一个使用HTML5和Backbone.js的网站。唯一的问题是,我找不到他们使用的技术,即使在更换页面时也能让音乐继续播放。
他们使用什么技术来播放音频流?
答案 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();
}