我正在尝试解决我的应用中的后退按钮问题。场景是:
我有一个带有搜索表单的主页,用$ .ajax()发送和接收数据,然后通过ajax加载结果,它们的链接指向一个控制器,该控制器不会由ajax中的GET完成,这意味着该页面将被刷新(因此包含结果的主页如下所示:http://url/en/home,结果链接可能如下所示{。{3}}。
问题是,当点击后退按钮从搜索框返回结果时,哪种方法最好?
我在stackoverflow中找到了与我的问题相关的一些答案: http://url/fetch/data/x123av http://tkyk.github.com/jquery-history-plugin
但是从这些插件的文档中,它们都通过检查我没有的哈希变化来工作。
希望我已经解释得很好了,我确实已经搜索了stackoverflow和谷歌搜索解决方案,但我没有找到一个接近这个或者我已经跳过它...
请指出正确的方法:D
答案 0 :(得分:1)
但是从这些插件的文档来看,它们都是通过检查来完成的 我没有的哈希变化。
如果你想用AJAX请求处理后退按钮,你将不得不重新设计你的应用程序,以便它可以使用哈希,因为这是唯一的方法。更改URL的片段部分不会触发页面重新加载,但会将其添加到历史记录中,因此当您按下后退按钮时,您可以检测到此更改,而无需离开页面。
正如SLaks在评论部分中提到的另一种可能性是使用HTML5 history API,但显然这假设客户端浏览器支持它。