2012-01-01 33 views
2

我想解决我的应用程序中的后退按钮问题。该场景是:返回按钮到Ajax结果,咨询请求

我有一个搜索表单的主页,它使用$ .ajax()发送和接收数据,然后通过ajax加载结果,它们的链接指向一个不会由GET完成的控制器在ajax中,这意味着页面将被刷新(因此主页的结果如下所示:http://url/en/home,并且结果链接可能看起来像这样的http://url/fetch/data/x123av)。

问题是,当点击返回按钮从搜索框返回结果时,哪种方法是最好的解决方法?

我发现在计算器一些答案与我的问题: http://code.google.com/p/reallysimplehistory http://tkyk.github.com/jquery-history-plugin

但是从这些插件的文件,但它们都工作检查我没有的哈希变化。

希望我已经解释的不够好,和我有搜索计算器和谷歌的解决方案,但我没有找到一个接近这个或任我已经在它跳了......

请只是指向正确的方向:D

回答

1

但是从这些插件的文档,他们都通过检查 我没有的哈希变化的工作。

如果要处理与AJAX后退按钮请求你将不得不重新设计应用程序,使之与哈希工作因为这是唯一的办法。更改url的片段部分不会触发页面重新加载,但会将其添加到历史记录中,因此,当您按下后退按钮时,无需离开页面即可检测到此更改。

正如评论部分的SLak所提到的,另一种可能性是使用HTML5 history API,但显然这是假定客户端浏览器支持它。

+0

或使用HTML5历史记录API。 – SLaks 2012-01-01 17:15:43

+0

@SLaks,非常好的一点。我会更新我的答案以包含这些有价值的信息。 – 2012-01-01 17:17:54

+0

没问题,所以如果你不使用散列而是使用HTML5历史API,那么当你点击浏览器后退按钮时,没有办法显示正在显示的内容! 考虑到我有上述问题中解释的链接,我应该怎么做? – Alex 2012-01-01 17:45:37