【问题标题】:Making Browser Back button work while using AJAX requests在使用 AJAX 请求时使浏览器后退按钮工作
【发布时间】:2010-12-13 00:02:19
【问题描述】:

我正在编写一个 Web 应用程序,它使用 AJAX 检索大量数据,它根据用户单击的按钮大幅修改加载的页面(假设单击 button1 将页面从 state0 带到 state1 等等..)

此外,如果按钮编号作为 GET 变量传递给服务器,则服务器返回正确状态的页面。

不用说,后退/前进浏览器按钮不起作用,因为在通过 AJAX 完成状态更改期间 URL 不会更改。

那么,我的问题是,如何让浏览器的后退/前进按钮正常工作?

是否可以在每次状态更改时为浏览器提供正确的 URL;但阻止页面重新加载?

请注意,此问题仅与浏览器后退/前进按钮有关。我可以创建自定义后退/前进按钮,但这不是我想要做的。

【问题讨论】:

  • 尝试谷歌搜索“后退按钮 AJAX” - 你会得到大量的结果。这个问题是众所周知的,有很多方法可以解决它。

标签: javascript ajax


【解决方案1】:

花点时间浏览一下someofthepreviousquestionsonthistopic.

提示:使用哈希人! (window.location.hash就是)

【讨论】:

    【解决方案2】:

    您必须使用 URL 的 # 功能将中间 Ajax 请求存储在浏览器历史记录中。如果您使用任何 Javascript 库,那么库本身或以社区扩展/插件的形式可能会有解决方案。

    例如有一个 jQuery here 的插件。

    Google for 浏览器历史 ajax

    【讨论】:

      猜你喜欢
      • 2013-04-26
      • 2010-09-14
      • 2023-03-30
      • 2011-06-12
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 2012-01-01
      • 2014-06-17
      相关资源
      最近更新 更多