代码之家  ›  专栏  ›  技术社区  ›  KJ Saxena

使用Ajax请求时使浏览器后退按钮工作

  •  2
  • KJ Saxena  · 技术社区  · 16 年前

    我正在编写一个Web应用程序,它使用Ajax检索大量数据,Ajax根据用户单击的按钮对加载的页面进行实质性修改(比如,单击按钮1将页面从状态0变为状态1,依此类推)。

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

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

    所以,我的问题是,如何使浏览器后退/前进按钮工作?

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

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

    2 回复  |  直到 16 年前
        1
  •  8
  •   Community Mohan Dere    8 年前

    花点时间来通过 some . of . the . previous . questions . on . this . topic .

    提示:使用散列人!( window.location.hash 也就是说)

        2
  •  2
  •   Robert Koritnik    16 年前

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

    例如,jquery有一个插件 here .

    谷歌 浏览器历史记录Ajax