为什么新的web Dropbox可以在不刷新页面的情况下更改URL

Why the new web Dropbox can change the URL without page refresh?

本文关键字:情况下 URL 刷新 web Dropbox 为什么      更新时间:2023-09-26

可能重复:
如何在不离开页面的情况下更改浏览器中显示的URL
如何像GitHub一样进行出色的无刷新页面更改
更改浏览器URL和页面内容而不重新加载,也不使用片段

太神奇了!新的Dropbox网络版本可以做到这一点!它会进行ajax请求并更改url,但页面不会刷新!(不更改哈希)

url将从https://www.dropbox.com/home/到https://www.dropbox.com/home/Public.

你可以试试。

如何实现?

他们使用HTML5 Pushstate:

http://badassjs.com/post/840846392/location-hash-is-dead-long-live-html5-pushstate

什么是pushState?

历史对象获得了两种新方法,pushState&replaceState,允许我们更改浏览器的当前位置,而不发出HTTP请求。这些新位置存储在浏览器历史记录,以便后退和前进按钮都能按预期工作。

 history.pushState({foo: "bar"}, "foo page", "/foo")

这是您可以在同一域中使用history.pushState()方法