我想要使用jQuery和AJAX以跨浏览器的方式实现导航历史。我的方法是使用window.history.pushState
,并在不支持window.history.pushState
的浏览器中回退到哈希url /#!/url
。
例如:
<a href="/home">home</a>
<a href="/about">about</a>
<a href="/contact">contact</a>
在支持 window.history.pushState
的浏览器中,点击这些链接之一应该可以在不刷新页面的情况下更改地址为 http://domain.com/home、http://domain.com/about 等等。当浏览器不支持 window.history.pushState
时,它应该使用片段标识符,即:http://domain.com/#!/home、http://domain.com/#!/about。
更新:根据这里的反馈,我已经实现了 Ajax SEO(git),它使用jQuery Address 来进行 HTML5 历史 API,对于旧版本浏览器则回退到 /#!/url
。