AJAX - 更新div内容 - 倒退?

时间:2011-08-18 14:39:47

标签: jquery ajax

当前基于Web的工具是模板驱动的,呈现HTML并一次为页面提供服务。我一直在尝试使用更多现代工具(如ajax)来加载页面内容,纯粹是页面之间的变化。

我在测试中发现的一个问题是,如果我的“后退”链接(调用JavaScript:history.go(-1);)与当前工具一样,它就不起作用。在我们以前的系统中,这些链接会将您带到上一页(存在一个页面)。

在测试系统中,我使用jQuerys ajax更新div内容。

是否有人制定了使用动态内容解决此问题的策略,提供了一个链接,可以将您带回层次结构中的一个步骤?

2 个答案:

答案 0 :(得分:1)

我多次遇到这个问题,有各种各样的解决方案建议操纵浏览器历史记录并拦截浏览器的后退点击等。

缺点是您使用页面参数来控制页面上呈现的内容,但更改地址栏值将重新加载页面,那么这是如何工作的?很简单,您可以在#后更改任何值,浏览器不会重新加载页面。然后你的javascript只是读取#后面的值来确定页面的内容。 Here is a good article on it.

我想知道gmail是如何做到并分析他们的页面似乎他们使用了很多iframe。 iframe的优势在于它们可以为您的网站提供ajax外观和感觉,而不是真的如此,我相信回击浏览器只需回击iframe。我做了类似的事情已经有一段时间了,所以不能百分百肯定。

我希望这会有所帮助。这里没有人能够为您提供100%的工作解决方案(据我所知),ajax应用程序的性质使得解决方案也必须是自定义的。

答案 1 :(得分:0)

后端链接不起作用,因为您没有加载整个页面(URL没有更改),但这很明显。

尝试在javascript-cookie中保存用户的历史记录,然后只加载上面一个单元列出的页面。这样,点击“返回”也不会回到他们之前浏览的外部页面,javascript:history.back()会这样做。