Ajax请求保存在浏览器的历史记录中

时间:2010-10-18 19:32:56

标签: javascript

有没有一种简单的方法可以将ajax请求保存到浏览器的历史记录中,这样当你使用后退按钮时它会保留DOM的最后状态?

像twitter和digg这样使用ajax寻呼机的网站有一个可用性缺陷,如果你多次点击下一页然后点击远离网站,然后使用后退按钮返回,你就会失去你在视口中的位置,因为DOM是恢复到第一个初始请求。

我注意到在一些网站上发出一些ajax请求之后,safari实际上保留了dom 下面是一个示例,转到http://13gb.com,单击“下一步”几次,然后单击图像,然后单击“后退”按钮。在webkit上,它保留了最后的DOM状态,但是在gecko上,即它没有。

在其他浏览器上复制此功能的最简单方法是什么?

2 个答案:

答案 0 :(得分:3)

您可能对jQuery History插件感兴趣: http://tkyk.github.com/jquery-history-plugin/

答案 1 :(得分:2)

  

我不是第一个应对的人   这类问题。我画了   几个人的灵感和诀窍   启动并运行的地方:

     

原始书签/后退按钮修复,   正如Flash开发人员所使用的那样   现在很少:

http://robertpenner.com/experiments/backbutton/flashpage.html

  

我实际上并没有看过他们是怎么回事   实施他们的解决方案,但这是   在那里我有了更换的想法   罗伯特·彭纳的框架与iframe:

http://dojotoolkit.org/intro_to_dojo_io.html#so-about-that-thorny-back-button

  

Rich Rutter使用哈希值   书签:

http://clagnut.com/sandbox/slideshow.html#5

  

对于这个小实验,我使用了Harry Fuecks的JPSpan

     

这是一个很棒的框架,可以通过XmlHttpRequest使您在服务器端PHP类中定义的方法可用于您的Javascript。

     

这是我遇到过的最简单的方式   开始使用AJAX。我有   我的演示的内容和运行   大约10分钟!我正在使用   算法的Timer对象:

http://codingforums.com/archive/index.php/t-10531.html

  

Scott Andrew的跨浏览器活动   处理:   http://scottandrew.com/weblog/articles/cbs-events

来源:http://www.contentwithstyle.co.uk/content/fixing-the-back-button-and-enabling-bookmarking-for-ajax-apps

对于jQuery: https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin