Javascript Can';t在chrome上刷新时强制页面滚动至顶部
我试图在刷新时使用类似于此的内容强制页面滚动到顶部Javascript Can';t在chrome上刷新时强制页面滚动至顶部,javascript,jquery,css,scroll,Javascript,Jquery,Css,Scroll,我试图在刷新时使用类似于此的内容强制页面滚动到顶部 $(window).scrollTop(0); 但这似乎发生在刷新时自动向下滚动之前。我的脚本运行,然后浏览器恢复其最后位置 我在几个类似这样的地方运行代码 $(function(){ $(window).scrollTop(0); }); $(window).scrollTop(0); $(document).ready(function(){
$(window).scrollTop(0);
但这似乎发生在刷新时自动向下滚动之前。我的脚本运行,然后浏览器恢复其最后位置
我在几个类似这样的地方运行代码
$(function(){
$(window).scrollTop(0);
});
$(window).scrollTop(0);
$(document).ready(function(){
$(window).scrollTop(0);
});
$(window).on('load',function(){
$(window).scrollTop(0);
});
但同样的事情总是发生。我必须把这个代码放到别的地方吗?在HTML的特定部分加载JS?纯JS或jQuery上还有什么可以帮助我解决这个问题的吗
@编辑
我尝试使用$(html,body)。滚动到(0)
,但无法使其工作
我在没有jQuery的情况下尝试了,但什么也没发生
window.scrollTo(0,0)
我禁用了所有用Javascript编写的代码,只放了这段代码,什么也没发生
@编辑2
我以前遇到过这个问题,我确信我用@raam86建议的
setTimeout
解决了这个问题。问题是,我在加载页面时做了一些计算,这必须在用户开始上下滚动之前完成,请尝试使用设置超时
比如:
var _TIMEOUT = 300
setTimeout(function(){$(window).scrollTo(0)},_TIMEOUT );
这将有望在chrome滚动后触发。如果它不尝试摆弄超时正确答案是:
window.onbeforeunload = function () {
window.scrollTo(0,0);
};
因为Chrome和其他浏览器“记住”卸载前的最后一个滚动位置,所以如果在卸载页面之前将该值设置为0,0,它们将记住0,0,并且不会滚动回滚动条所在的位置:)
在所有页面的控制器上刚刚超过该值,它们将在重新加载/刷新/其他时滚动到顶部Apply
scrollTop()
onhtml,body
而不是窗口
。否。仍在向下滚动。不确定它是否忽略代码,或者在页面刷新后浏览器是否向下滚动。我不使用任何其他滚动页面的脚本是的,这应该可以工作,但当页面加载时,我会做一些计算,我将不得不全部修改它(因为当用户向下和向上滚动时,它必须为用户准备好)