我正在使用AJAX加载一些jQuery动画的网站上工作。从URL中删除哈希,在无哈希URL加载页面,然后在不重新加载页面的情况下将哈希添加到URL
使用JavaScript,我从动态生成的链接抓取href到基于PHP的页面,然后将该href添加到URL(在不可避免的#/之后)。
到目前为止,除非用户对该页面进行书签并试图访问该页面,否则该用户将到达主页,而不是他/她期望访问的页面。
因此,当直接访问网页时,不是通过点击网站的内部链接,我想从网址中删除#/,但将所有内容都保存在网址后面,这样就可以像这样标记网址:
http://www.mysite.com/#/somepage
被改写成这样:
http://www.mysite.com/somepage
然后,在正确的页面(http://www.mysite.com/somepage
)完成加载,我要坚持#/放回原处的网址(http://www.mysite.com/#/somepage
),无需重新加载这一页(其中,由于我使用的是一个聪明的片断,将确保导航的其余产品的方式应该。)
所以:
- 页面加载之前,检查URL,如果它已有,请将其移除。
- 加载页面位于无散列URL
- 重新显示网址,无需重新加载页面。
它甚至可以吗?如果是的话,我会感激上一堂课。
你看过[History.js](http://balupton.github.io/history.js/demo/)吗? – bdesham