使用锚点可以使用Javascript /不同方法处理浏览器后退按钮吗?

时间:2011-06-01 11:51:08

标签: javascript html navigation unobtrusive-javascript

我目前正在使用Ajax调用和不引人注目的JS在网站上进行良好的导航。我正在捕获链接上的click事件,加载内容,将其附加到div然后返回false。这非常有效,也允许Google使用说话的网址抓取网站。

但我不知道如何处理浏览器后退按钮。当用户点击后退按钮时,我发现这个解决方案可以捕获事件:

http://www.bajb.net/2010/02/browser-back-button-detection/

效果很好。但是当用户通过链接找到网站并希望返回上一页时我也希望后退按钮正常工作(我不想让任何人陷入困境)。

当我想到它时,最好的方法是使用锚。正常的后退按钮支持它们,您可以在不重新加载页面的情况下返回历史记录(/#1< - /#2< - /#3等)

它会像这样工作:

  • 在链接中使用普通网址,但抓住点击事件
  • 当用户点击,加载内容并将其附加到DIV
  • 使用锚点更改window.location(例如'domain.com/#products/women-clothing'与window.location =“#products / women-clothing”;)
  • 当window.location改变时,获取锚点,读出路径并通过ajax获取内容,将其附加到DIV

只有最后一部分对我来说并不是很清楚,我可能需要帮助。

最后,我的问题:这有什么意义吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

将内容加载到href后,只需将window.location.hash添加到div即可。然后,您可以使用该后退按钮检测脚本来加载哈希中的内容。

答案 1 :(得分:1)

我使用这个优秀的jQuery插件解决了这个问题:History.js

谢谢!