Javascript 触发popstate时是否刷新页面一次?
我有一个很长的页面,可以通过Javascript 触发popstate时是否刷新页面一次?,javascript,jquery,scrolltop,page-refresh,html5-history,Javascript,Jquery,Scrolltop,Page Refresh,Html5 History,我有一个很长的页面,可以通过scrollTop()导航 因为scrollTop()不适用于浏览器的后退按钮(浏览器会忽略它),所以我想尝试在每个popstate上刷新浏览器,这样它就可以工作了,用户的滚动位置将是它应该在的位置 问题是我的代码导致无限刷新 $(window).bind('popstate', function(event) { //var path = window.location.pathname; //var filename = p
scrollTop()
导航
因为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()
我认为刷新页面不会为您启用浏览器历史记录
jQuery烧烤:
演示:
历史JS
我使用的是历史api,问题在于滚动,而不是一般的历史实现。浏览器在向后/向前导航时控制滚动位置。ajax的东西,我也有,很好用。如果我能让浏览器在popstate上只刷新一次,那就行了。所有的插件都不适用于此,因为滚动,如果只是ajax,那么是的,它们可以工作。