0
我有一个长页面,通过scrollTop()
导航。当popstate被触发时刷新一次页面?
因为scrollTop()不能正确地与浏览器的后退按钮一起工作(浏览器忽略它),所以我想在每个popstate上尝试刷新浏览器,然后它将起作用,并且用户滚动位置将是其假定位置成为。
问题是我的代码导致无限刷新。
$(window).bind('popstate', function(event) {
//var path = window.location.pathname;
//var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1];
//var pos = "#" + filename;
//$(document).scrollTop(pos);
location.reload();
});
我该如何修复它只刷新一次?我试过one()
,但它是一样的。
我使用历史API,问题是出在滚动,而不是一般的历史执行情况。浏览器在向后/向前导航时控制滚动位置。阿贾克斯的东西,我也有工作得很好。 – user1721135 2013-05-12 10:05:33
如果我能让浏览器在popstate上只刷新一次,它会起作用。所有的插件都不工作,因为滚动,如果它只是ajax,那么是的,他们会工作。 – user1721135 2013-05-12 10:25:33