在ajax中保存历史记录

时间:2009-06-10 05:41:50

标签: ajax browser-history

我在我的网站上使用ajax。当用户输入查询并选择类别时,我使用ajax更新包含服务器获取内容的页面。此外,我使用哈希值更新URL,该哈希值显示查询和由&分隔的类别。

我想要做的是在按下浏览器后退按钮时这样做我想显示之前的结果而不重新加载。

我得到的是具有先前值的URL,但结果未更新。我怎么能改变呢?任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

简短的回答是使用uri的#hash部分,这部分如果更新不刷新页面,并且在大多数浏览器中都会生成历史检查点,但是在大多数浏览器中说,这意味着IE6中没有支持,我认为IE7。 另一种方法是,当你检测到IE时,你可以嵌入一个1像素的iframe并将它的源设置为你域上的一个页面,然后让你的javascript设置它?网址的一部分,以便页面刷新,在这种情况下,IE将保存历史记录点。 在IE8中解决了这个问题

实施例

http://codinginparadise.org/weblog/2005/08/ajax-tutorial-tale-of-two-iframes-or.html