我正在使用ASP.NET Ajax编写一个简单的相册应用程序.
该应用程序使用异步Ajax调用来预加载相册中的下一张照片,而无需更改浏览器中的URL.
问题是当用户点击浏览器中的后退按钮时,应用程序不会返回到上一张照片,而是导航到应用程序的主页.
有没有办法欺骗浏览器将每个Ajax调用添加到浏览历史记录中?
更新:现在有HTML5历史API(pushState,popState),它不赞成HTML4 hashchange
功能.History.js提供跨浏览器兼容性和HTML4浏览器的可选 hashchange
后备.
这个问题的答案或多或少与我对这些问题的答案相同:
如何在URL中显示Ajax请求?
Gmail如何在丰富的JavaScript中处理后退/前进?
总之,您肯定要查看这两个项目,它们解释了整个hashchange过程并在混合中添加了ajax:
jQuery历史记录(使用哈希来管理页面状态并绑定到更改以更新页面).
jQuery Ajaxy(jQuery历史的ajax扩展,允许完整的ajax网站,同时完全不引人注目且优雅地可降级).