在使用ajax做局部刷新的时候会产生一个问题,用户会以为整页做了刷新,当用户点击回退、前进历史按钮的时候,会跳到之前的页面。(这个问题在SPA 单页面应用的时候尤为明显)。
但是可以通过location.hash解决,什么是location.hash?就是http://localhost/index.html#aaa #号后面的就是hash。当url的hash部分变化的时候就会在浏览器产生历史记录,这样后退或前进的时候,就可以正确的进行跳转了。
url hash的变化可以通过window.onhashchange函数监听。jQuery提供了hashchange插件。