2012-07-16 52 views
1

我有一个产品列表页面,列出了使用Ajax的产品,分页和一些过滤器。当用户按下浏览器上的后退按钮时,如何强制Ajax内容重新加载?

这是所有罚款,但我发现,当用户点击到一个产品,然后使用后退按钮返回到产品列表页面的Ajax内容无法正确载入。如果我刷新页面,那很好。

我已经添加了可以追溯到并加载正确的产品页面上的动态后退按钮,但我需要尝试,当用户点击后退按钮拍摄。

我试过如下:

  • 充分利用高速缓存控制必重新验证,因此,当浏览器返回页面刷新。
  • 吸引用户点击后面的产品页面上,并使用所使用的后退按钮链接重定向他们的活动。

不幸的是,这些都没有为我工作,所以我想知道如果有人有任何想法。

+1

也许[HTML pushState的(https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history /)会给你一些想法吗? http://stackoverflow.com/questions/tagged/pushstate可能也给一些很好的阅读。 – DrColossos 2012-07-16 16:34:53

回答

0

这是我的解决办法,迫使浏览器刷新页面时,浏览器背部按钮被cliked,它为我工作:

//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() 
    } 
} 
相关问题