【问题标题】:Dynamic web application without hashbang #!没有 hashbang #! 的动态 Web 应用程序
【发布时间】:2015-08-12 19:22:46
【问题描述】:
Google Maps 和 Mixcloud 等 Web 应用程序如何在不使用 hashbang(也称为 #!)的情况下更新其 url?
例如,当在 Google 地图中滑动视图时,请注意 URL 中 @ 后的坐标。或者请注意,在点击某些链接时,音乐会一直播放。
我正在寻找一种编程方式来实现相同的功能,我也想知道它是如何工作的。
【问题讨论】:
标签:
javascript
html
google-chrome
single-page-application
hashbang
【解决方案1】:
HTML5 历史 API 是一种通过脚本操作浏览器历史的标准化方法。这个 API 的一部分——浏览历史——在以前的 HTML 版本中已经可用。 HTML5 中的新部分包括向浏览器历史记录添加条目的方法,在浏览器位置栏中更改 URL(不触发页面刷新),以及在用户从堆栈中删除这些条目时触发的事件按浏览器的后退按钮。这意味着浏览器位置栏中的 URL 可以继续作为当前资源的唯一标识符发挥作用,即使在从不执行完整页面刷新的脚本繁重的应用程序中也是如此。
来源:http://diveintohtml5.info/history.html