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