我遇到这实际上是在Chrome浏览器中的“功能”的问题。 正如你们大多数人可能知道,Chrome会记住滚动位置,它返回,当你回来的页面。 我种有一个问题。
有什么办法来覆盖这一点没有用户干预?
男人
失败的试奏:
- scrollTop的上的document.ready
我遇到这实际上是在Chrome浏览器中的“功能”的问题。 正如你们大多数人可能知道,Chrome会记住滚动位置,它返回,当你回来的页面。 我种有一个问题。
有什么办法来覆盖这一点没有用户干预?
男人
失败的试奏:
我已经在Chrome检查,效果不错。 有时候setTimeout
不欺骗:)
<script type="text/javascript">
window.onload=function(){
setTimeout(function(){
scrollTo(0,-1);
},0);
}
</script>
在Chrome浏览器46+,自动滚动行为可以使用history.scrollRestoration被关闭:
if ('scrollRestoration' in history) {
history.scrollRestoration = 'manual';
}
来源: https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration
x = 0; //horizontal coord
y = document.height; //vertical coord
window.scroll(x,y);
一些JavaScript一样,很可能是能够被操纵,以停止自动滚动。
这取决于虽然,你快乐吗滚动来简单地设置为自动去顶,或者是你实际上是寻找拿页面最后滚动位置,被彻底关闭了浏览器的标准选项?
什么是您目前尝试使用scrollTop的()?
我通过将滚动事件,然后复位滚动位置的第一次用户滚动解决了这个。 适用于对现场重载我。
是这样的:
var scrollResetOnce = false;
$(window).on("scroll", function() {
if (scrollResetOnce) return;
scrollResetOnce = true;
scrollTo(0, -1);
});
这里是能完成这一操作的清洁方式。
window.addEventListener('unload', function(e){
document.body.style.display = 'none';
});
通过简单的身体显示设置为“无”,你不必担心它的浏览器被卸载和滚动条的位置将被自动重置为0之前滚动到页面顶部的闪光灯。