我正在创建一个HTML和Javascript客户端,用于在与REST API对话的浏览器中运行。我正在使用RouteMap来设置我的网址。所以我保留了类似这样的约定
http://mysite.com/#/{ResourceName}/[edit|view|list]/[Id]/
我只设置了一条路线,并且我正在将函数绑定到hashchange中。大多数事情都很好。只是两个问题,我因为他们而陷入困境。
任何帮助都将不胜感激。
答案 0 :(得分:1)
对于#1,您可能希望将处理程序附加到链接单击事件。这样你就可以判断链接是否被点击了。当我使用onhashchange时,我总是在click事件上添加一些内容以帮助polyfill进行onhashchange,所以至少我可以判断它什么时候失败。
对于#2,我想指出自动更改用户的历史记录是有问题的。你可以用微小的,毫无意义的哈希变化填补某人的历史。我建议仅在用户实际交互时更改历史记录。除此之外,HTML5确实提供pushState
和popState
。 Reference