链接如何在soundcloud中运行?

时间:2013-05-29 16:53:21

标签: javascript html5 web

我注意到很少有像soundcloud这样的网站,当你点击一个链接时,页面加载就像只有像ajax这样的东西,但地址栏中的地址仍然会发生变化。

例如,当我在soundcloud上探索声音时,点击一个链接,打开页面,但背景音乐继续播放。如果是ajax,那么地址栏中的地址如何变化。

我是新手网络开发者,想学习这种技术!!!

3 个答案:

答案 0 :(得分:1)

查看history.pushState

支持HTML5的浏览器支持名为pushState / replaceState的新历史api,它使javascript能够控制浏览器历史记录而无需重新加载页面。在旧版浏览器中,通常使用location.hash等功能。

答案 1 :(得分:0)

答案 2 :(得分:0)

看一下这个问题的答案https://stackoverflow.com/a/4059844/1558255

在其中,您可以看到在HTML5中使用window.history的示例,例如以下来自Alfred Nerstu的答案。

  window.history.pushState('Object', 'Title', '/new-url');
     

如果您只想更改网址而无法返回

  window.history.replaceState('Object', 'Title', '/another-new-url');
     

该对象可用于ajax导航:

  window.history.pushState({ id: 35 }, 'Viewing item #35', '/item/35');

  window.onpopstate = function (e) {
     var id = e.state.id;
     load_item(id);
  };