ajax支持的页面中的后退按钮

时间:2011-11-30 10:01:34

标签: php jquery ajax history back-button

我有一个主php页面,现在我使用ajax在这个母版页的div中加载不同的页面。现在我想在从属页面上添加一个后退按钮,以便div可以加载其刚才的前一个从属页面,但后面的按钮,我使用的是使用history.go(-1),这使我远离母版页。任何人都有任何解决方案。提前谢谢。

我正在使用的代码如下所示。但它不适用于ajax页面

<a href="javascript:history.go(-1)">Go back</a>

3 个答案:

答案 0 :(得分:1)

阅读tutorial on Manipulating browser history

提到:

  • pushState用于在浏览器的历史记录中创建“条目”(包含有关州的附加数据),允许返回之前保存的某个特定状态,
  • onpopstate事件,当您在浏览器的历史记录中来回传递时被触发,并传递先前为历史记录中的特定条目保存的信息(因此您实际上可以先读取数据)由pushState保存为此特定条目,

如果pushStateonpopstate不适合你,仍有一些能力可以在onhashchange事件的基础上工作(无论多么有限)。

好消息是你想要实现的目标绝对是可能的。它甚至在Twitter,GitHub,Facebook等许多知名网站上实现。

答案 1 :(得分:1)

我的建议是为此目的使用框架,如backbone.js

您可以在服务器端设置路线。

我觉得这是在ajax网站上执行此操作的最佳方式。

答案 2 :(得分:0)

您可以使用较新浏览器中提供的历史记录功能。有几个库已经为您提供了功能:

对于JavaScript MVC应用程序:

http://documentcloud.github.com/backbone/#History

对于移动网页:

http://jquerymobile.com/demos/1.0b1/#/demos/1.0b1/docs/pages/docs-navmodel.html

为了实现自己的解决方案:

http://benalman.com/projects/jquery-hashchange-plugin/