没有 hashbang 的动态 Web 应用程序 #!

Dynamic web application without hashbang #!

Google Maps 和 Mixcloud 等 Web 应用程序如何在不使用 hashbang(也称为 #!)的情况下更新其 url?

例如,在 Google 地图中滑动视图时,请注意 URL 中 @ 符号后的坐标。或者请注意,在点击某些链接时音乐会继续播放。

我正在寻找一种实现相同功能的编程方式,我也想知道它是如何工作的。

您看过 ASP.Net MVC 吗?它使用单页应用程序概念。我不完全确定你在找什么,但这是一个很好的例子:http://www.microsoftvirtualacademy.com/training-courses/introduction-to-asp-net-mvc

您可能还想看看 AngularJs,这使得路由 URL 变得非常简单。

HTML5 历史记录 API 是一种通过脚本操作浏览器历史记录的标准化方法。 API 的一部分——浏览历史——已在 HTML 的早期版本中提供。 HTML5 中的新部分包括一种将条目添加到浏览器历史记录的方法,可以明显更改浏览器地址栏中的 URL(不触发页面刷新),以及在这些条目时触发的事件由用户按下浏览器的后退按钮从堆栈中删除。这意味着浏览器地址栏中的 URL 可以继续作为当前资源的唯一标识符,即使在从不执行整页刷新的脚本密集型应用程序中也是如此。

来源:http://diveintohtml5.info/history.html