【发布时间】:2011-12-27 07:41:50
【问题描述】:
我正在创建一个 HTML 和 Javascript 客户端,用于在与 REST API 对话的浏览器中运行。我正在使用RouteMap 设置我的网址。所以我保留了一个类似这样的约定
http://mysite.com/#/{ResourceName}/[edit|view|list]/[Id]/
我只设置了一个路由,我在绑定到 hashchange 的函数中获取这些参数。大多数事情都很好。只有两个问题,我因此而陷入困境。
- 如果用户点击同一个链接两次,hashchange 事件不会触发。是的,哈希没有改变,所以很明显它不会触发。但是应该有一些可以做的事情,我错过了。
- 如果我在 UI 中更改了一些我不想更改哈希链接的内容(例如显示新的 div 并隐藏一些),我会丢失该历史记录并且无法通过正确单击后退按钮返回。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript browser-history hashchange