2012-12-18 63 views
18

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

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

+0

我认为这是一个“单页面应用程序”,这意味着你永远不会实际触发一个完整的页面重新加载。 –

+0

但URL chenged – rayking

+0

他们使用pushState –

回答

21

事实是,您不会加载新页面,但会通过AJAX加载内容。

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

我开始进入这个话题的阅读和尝试以下两种资源:

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


最简单的方法是装载和替换通过AJAX当前内容,然后致电

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

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

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

window.addEventListener("popstate", function(e) { 
    //loadPreviousPage(); 
} 
相关问题