网页加载时滚动到部分位置

4
在我的网站上,一个页面出现了奇怪的行为。当加载该页面时,无论通过何种方式访问该页面(刷新、直接输入、SERP点击等),视图框默认会部分向下滚动 - 大约1/5的位置,刚好遮挡住标题。在Chrome中,一旦外围元素加载完毕(分析和Facebook Graph),页面会突然跳回顶部。在Firefox中,即使页面完全加载完成后,它仍然保持向下滚动。
有人经历过这种情况吗?我尝试删除所有脚本和分析工具 - 这使得加载速度更快,但滚动问题仍然存在。我没有任何可能导致此问题的复杂脚本。

1
你说你已经删除了所有的脚本,但是滚动条仍然存在?能否请您分享一下 CSS 代码? - Jose Faeti
Jose的解决方案可以提供一个合理的解决方法,但我担心我不知道为什么这种情况会发生! - chrisfrancis27
我逐行查看了代码,发现是一个内联的Adsense块导致了滚动条问题。我以前从未见过这种情况,但它绝对是问题所在 - 如果删除该块,则滚动问题将消失。 - MarathonStudios
那没有用...我们需要查看页面以便检查生成的内容。或者至少调整一下AdSense会有帮助。 - Jose Faeti
2
终于找到了——问题不是由于AdSense代码本身导致的。广告块推动了一个自动对焦的表单,使得页面立即滚动到表单底部,然后在页面加载完成后再返回顶部。当我移除了广告块后,表单就浮动到了折叠区以上,并且这种行为停止了。非常奇怪。 - MarathonStudios
显示剩余2条评论
2个回答

3
在窗口加载时使用window.scrollTo(0,0);

1
如果我没有找到问题的根源,这个黑客攻击可能会奏效,所以我会接受。 - MarathonStudios
很高兴你找到了解决方案!再见! :) - Jose Faeti

0

对于其他人,您可能需要考虑在标头中注释掉<meta name='viewport' content='width=device-width'>。我在我的WordPress网站上遇到了这个问题,我一直在咒骂WordPress,因为我以为这是通过JavaScript加载CSS的问题。它会正常加载一两次,然后在从缓存(快速)加载时会导致此问题。

我从标头中注释掉了以下内容

<meta name='viewport' content='width=device-width'>

就像我移除了它一样。它并没有影响页面的样式,所以这根本不是一个问题。对我来说,它已经解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接