某些浏览器在返回页面时不会保留附加的AJAX内容

时间:2011-07-21 15:54:48

标签: jquery ajax json search cross-browser

我开发了一个AJAX搜索组件来查询Google Search Appliance。它对一个php脚本进行AJAX调用,该脚本从GSA中获取XML并将其编码为JSON并将其发送回浏览器。从那里,jquery模板插件完成剩下的工作。这个过程可以正常运作。

然而,当我离开搜索页面(例如,点击结果链接)并稍后希望返回搜索结果时,IE和Chrome不会保留搜索结果和您在页面上的位置,而FF ,Opera和Safari确实保留了附加到DOM的AJAX内容以及您在pae上的位置。在IE和Chrome中,它实际上是回击并看到没有结果的空白页。

浏览器的行为有不同的原因吗? (某些浏览器会在您返回页面时显示附加内容,但有些浏览器不显示)

有没有办法在没有某种类型的会话或状态或存储的情况下轻松解决此问题?

由于

1 个答案:

答案 0 :(得分:1)

我怎么做的基本上是当你点击搜索你的更改页面的位置而不实际重定向(例如:http://myurl.com/search.html#mysearchtext(url编码))

然后你进行搜索。

在您网页的onload事件中,您检查网址中的任何#xxxxx,如果存在,则进行搜索。

它有两个目的:   - 这样你的后退动作将始终有效:P   - 这样您就可以直接链接搜索结果。