我一直在寻找几个小时试图做一个简单的浏览器历史操作。如何操作浏览器历史记录并捕获浏览器后退/前进按钮?
我有几个菜单链接,我绑定单击处理他们。链接'href的只是哈希:href="#Home"
或href="#About"
。
我想,当用户点击链接以显示子页面,而无需重新加载页面,并更改浏览器的URL。
我也试过用pushState的(这个基本的例子),但它不工作: http://jsbin.com/wecubizovu/1/edit?html,js,console
当我在Chrome运行此,我想到的是,如果用户点击链接,他将#asd追加到url并且popstate不会更改。为什么popstate被触发?我该如何做到这一点,以便当用户点击链接时,我将哈希追加到浏览器网址,当用户点击浏览器后退按钮时,我捕捉到该事件并显示我想要的页面?
谢谢!
Oooooooh那是问题。我也刚刚发现,我添加了点击处理程序的类,它每次调用两次,因为DOM传播... 谢谢!为了这个小细节,花了我几个小时的时间... – 2015-02-06 20:03:19