使用AJAX请求时使“浏览器后退”按钮工作

时间:2009-11-04 12:00:25

标签: javascript ajax

我正在编写一个使用AJAX检索大量数据的Web应用程序,它根据用户点击的按钮大大修改了加载的页面(假设点击button1将页面从state0转到state1,依此类推......)

此外,如果按钮编号作为GET变量传递给服务器,则服务器会以正确的状态返回页面。

毋庸置疑,后退/前进浏览器按钮不起作用,因为在通过AJAX完成状态更改期间不会更改URL。

所以,我的问题是,如何让浏览器后退/前进按钮工作?

每次状态发生变化时,是否可以为浏览器提供正确的URL;但是停止重新加载页面?

请注意,此问题仅与浏览器后退/前进按钮有关。我可以创建自定义后退/前进按钮,但这不是我想要做的。

2 个答案:

答案 0 :(得分:8)

花一些时间浏览someofthepreviousquestionsonthistopic

提示:使用哈希男​​人! (window.location.hash即)

答案 1 :(得分:2)

您必须使用URL的#功能在浏览器历史记录中存储中间Ajax请求。如果您使用任何Javascript库,可能会在库本身或社区扩展/插件的形式中提供解决方案。

例如,有一个jQuery here的插件。

谷歌的浏览器历史记录ajax