为什么新的web Dropbox可以在不刷新页面的情况下更改URL
Why the new web Dropbox can change the URL without page refresh?
可能重复:
如何在不离开页面的情况下更改浏览器中显示的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()
方法
相关文章:
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- 在不重新加载的情况下更改标头URL的任何方法
- (Ajax)在不重新加载内容的情况下登录页面url
- 如何在不重新加载URL的情况下查询Node.Js的后端并更新页面
- 如何在不重新加载的情况下更改url
- 在不使用任何http、https或ftp的情况下验证URL
- Angular/UI路由器-如何在不刷新所有内容的情况下更新URL
- Angularjs-在不更新当前控制器和模板的情况下更改URL
- 在浏览器上不打开url的情况下自动请求
- 如何在不刷新页面的情况下更改URL
- 如何在不重定向用户的情况下更改地址栏URL(不使用历史API?)
- 如何在不更改URL的情况下使用HTTP方法POST
- 如何在不重新加载当前页面的情况下加载URL
- 在不重新加载页面的情况下更新 URL 哈希
- 如何在URL中不指定.html、.json的情况下配置web.xml来服务任何请求
- 在没有 url 帮助的情况下在控制器之间传递数据
- 在不触发状态更改的情况下更新 URL
- 在不刷新的情况下更改页面 URL - 是否有跨浏览器解决方案