我正在编写一个Web应用程序,该应用程序使用AJAX检索大量数据,该AJAX基本上根据用户单击的按钮修改了加载的页面(假设单击button1会将页面从state0转到state1,依此类推。)
此外,如果将按钮号作为GET变量传递给服务器,则服务器将返回正确状态的页面。
不用说,后退/前进浏览器按钮不起作用,因为在通过AJAX完成状态更改期间URL不会更改。
所以,我的问题是,如何使浏览器的后退/前进按钮起作用?
每次状态更改时,是否可以向浏览器提供正确的URL;但是阻止页面重新加载?
请注意,此问题仅与浏览器的后退/前进按钮有关。我可以创建自定义的后退/前进按钮,但这不是我想要的。
图例-有许多可能的解决方案,我将查看以下历史记录插件中的一个:
历史记录遥控器 jQuery History插件 深度链接插件 他们有些烦躁,但是您应该能够掌握一些积极的东西。我还要补充一点,这可以通过将动态元素存储在cookie中并以某种方式重新填充来完成。查看jQuery Cookie插件。希望对您有所帮助。
提示:使用哈希人!(window.location.hash就是)
window.location.hash