【问题标题】:"browser back" possible without reloading page (AJAX)无需重新加载页面即可“浏览器返回”(AJAX)
【发布时间】:2012-04-20 01:56:56
【问题描述】:

我正在使用 ajax 调用从 mysql 数据库获取结果的 php。 我使用 ajax 的原因是页面不会重新加载。 (返回错误)

一切正常,但由于浏览器没有重新加载,所以没有“返回”。

示例:用户输入要搜索的内容,然后点击“搜索按钮”,ajax 返回搜索而不重新加载页面,但是如果用户想单击返回按钮进入上一个搜索,他们不能...

如果您认为实际重新加载页面会更好,请告诉我,因为这对我来说完全可能,我不重新加载页面的唯一原因是因为这样看起来更好......

或者你们如何看待 iframe?

谢谢!

【问题讨论】:

标签: php ajax


【解决方案1】:

查看题为“修复后退按钮并为 AJAX 应用程序启用书签”的 this tutorial

【讨论】:

    【解决方案2】:

    结合您的问题here 的答案,您可以将他们的搜索存储在一个数组中。在卸载事件中,你可以只做之前的搜索。

    【讨论】:

    • 听起来不错,但是您认为最好的方法是,页面中的 iframe 将允许返回并且没有问题,或者使用 ajax? iframe 有什么缺点吗?
    • 两者都可以。我认为(这里可能是错误的)很多人尝试使用 ajax,因为它是“in”的东西。阿贾克斯很酷。不要误会我的意思,但如果 iframe 最适合您和您的用户的需求,请使用它。 iframe 的唯一主要缺点是 iframe 的内容不会被搜索引擎索引,在您的情况下,这似乎无关紧要。
    【解决方案3】:

    您可以为此使用 jquery history 插件:

    【讨论】:

    • 我个人最喜欢这种方法。
    【解决方案4】:

    试试这个简单轻量级的PathJS lib。它允许将侦听器直接绑定到锚点。

    使用示例:

    Path.map("#/page1").to(function(){
        ...
    });
    
    Path.map("#/page2").to(function(){
        ...
    });
    
    Path.root("#/mainpage");
    Path.listen();
    

    【讨论】:

      猜你喜欢
      • 2014-08-30
      • 2014-08-25
      • 2013-05-28
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      相关资源
      最近更新 更多