1

我有一个产品列表页面,其中列出了产品、分页和一些使用 Ajax 的过滤器。

这一切都很好,但是我发现当用户单击产品然后使用后退按钮返回产品列表页面时,Ajax 内容无法正确加载。如果我刷新页面就可以了。

我已经在产品页面上添加了一个动态后退按钮,该按钮可以返回并正确加载,但我需要尝试捕获用户点击后退按钮的时间。

我尝试了以下方法:

  • 使缓存控件必须重新验证,因此当浏览器返回时页面被刷新。
  • 捕捉用户点击产品页面的事件并使用后退按钮使用的链接重定向他们。

不幸的是,这些都不适合我,所以我想知道是否有人有任何想法。

4

1 回答 1

0

这是我的解决方案,当点击后退浏览器按钮时强制浏览器刷新页面,它适用于我:

//disable ajax cache it solves that the Ajax content doesn't load properly when back button is clicked
$.ajaxSetup({ cache: false });
//force reload page on back browser button
window.onpopstate = function(event) {
    if(event && event.state) {
        location.reload()
    }
}
于 2014-04-30T21:40:09.400 回答