AJAX和后退按钮

时间:2011-08-24 11:43:10

标签: javascript ajax history

如何使用AJAX保存历史记录github或google +如何保存历史记录。我使用jQuery,我不想使用像#和#这样的hack!技巧,因为如果我这样做,我需要改变我的整个项目,让我的生活变得更加复杂?

3 个答案:

答案 0 :(得分:5)

Github和Google+正在使用history.pushState

您可以像这样更改当前网址:

history.pushState(null, null, '/the-new-url');

这是Firefox,Chrome,Opera,Safari支持的;不是IE。

请参阅https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history#The_pushState%28%29.c2.a0method

答案 1 :(得分:5)

在AJAX和历史方面,基本上有两种选择。

  1. #方法(不是黑客顺便说一下)。由于你不想要那个,你只剩下选项2。

  2. 使用PushState。这就是Facebook,GitHub和其他一些人使用的东西。但是并不是所有浏览器都支持它,如果你想要完全跨浏览器兼容,你将不得不使用一个可以降级到选项1的系统。

  3. 实现这个的一个非常简单的方法是Backbone.js Router class。

答案 2 :(得分:1)

a simple jQuery hashchange plugin旨在解决此特定问题。

我没用过它;我不知道它如何跟踪网址历史。