我注意到很少有像soundcloud这样的网站,当你点击一个链接时,页面加载就像只有像ajax这样的东西,但地址栏中的地址仍然会发生变化。
例如,当我在soundcloud上探索声音时,点击一个链接,打开页面,但背景音乐继续播放。如果是ajax,那么地址栏中的地址如何变化。
我是新手网络开发者,想学习这种技术!!!
答案 0 :(得分:1)
支持HTML5的浏览器支持名为pushState / replaceState的新历史api,它使javascript能够控制浏览器历史记录而无需重新加载页面。在旧版浏览器中,通常使用location.hash等功能。
答案 1 :(得分:0)
也许,您应该看看这个http://diveintohtml5.info/history.html或https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history
答案 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); };