Google Maps和Mixcloud等网络应用程序如何在不使用hashbang(也称为#!
)的情况下更新其网址?
例如,请注意在Google地图中滑动视图时,网址@
后面的坐标。或者请注意,在关注某些链接时,音乐会继续播放。
我正在寻找一种实现相同功能的程序化方法,我也想知道它是如何工作的。
答案 0 :(得分:3)
HTML5历史记录API是一种通过脚本操作浏览器历史记录的标准方法。此API的一部分 - 导航历史记录 - 已在以前版本的HTML中提供。 HTML5中的新部分包括一种向浏览器历史记录添加条目,明显更改浏览器位置栏中的URL(不触发页面刷新)的方法,以及当用户从堆栈中删除这些条目时触发的事件按下浏览器的后退按钮。这意味着浏览器位置栏中的URL可以继续作为当前资源的唯一标识符,即使在没有执行整页刷新的脚本繁重的应用程序中也是如此。
答案 1 :(得分:0)
你看过ASP.Net MVC了吗?它使用单页面应用程序概念。我不完全确定你在寻找什么,但这是一个很好的例子:http://www.microsoftvirtualacademy.com/training-courses/introduction-to-asp-net-mvc
您也可以查看AngularJs,这使得路由网址非常简单。