28

実際には Chrome の「機能」である問題が発生しています。ほとんどの人が知っているように、Chrome は、ページに戻ったときに戻るスクロール位置を記憶しています。そして、私はそれについて一種の問題を抱えています。

ユーザーが気付かずにこれをオーバーライドする方法はありますか?

ミース

試行錯誤の失敗:

  • document.ready の ScrollTop
4

5 に答える 5

70

Chrome 46 以降では、history.scrollRestoration を使用して自動スクロール動作をオフにすることができます。

if ('scrollRestoration' in history) {
  history.scrollRestoration = 'manual';
}

ソース: https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration

于 2016-07-08T15:12:29.697 に答える
11

クロムで確認しましたが、うまくいきました。時々setTimeoutトリックをします:)

<script type="text/javascript">
window.onload=function(){
    setTimeout(function(){
        scrollTo(0,-1);
    },0);
}
</script>
于 2013-04-26T16:27:44.343 に答える
0

スクロールイベントにアタッチし、ユーザーが初めてスクロールしたときにスクロール位置をリセットすることでこれを解決しました。私にとっては、その場でのリロードに役立ちます。

次のようになります。

var scrollResetOnce = false;
$(window).on("scroll", function() {
    if (scrollResetOnce) return;
    scrollResetOnce = true;
    scrollTo(0, -1);
});
于 2014-09-16T13:10:39.330 に答える
0
x = 0;  //horizontal coord
y = document.height; //vertical coord
window.scroll(x,y);

そのような一部の Javascript は、自動スクロールを停止するために操作できる可能性があります。

ただし、スクロールが自動的に一番上に移動するように設定されていることに満足していますか、それともページを最後のスクロール位置に移動して完全にオフにするChrome標準オプションを実際に探していますか?

現在、scrollTop() に何を使用しようとしていますか?

于 2013-04-26T15:04:55.527 に答える
-2

これを行うためのクリーンな方法を次に示します。

window.addEventListener('unload', function(e){
   document.body.style.display = 'none';
});

本文の表示を「なし」に設定するだけで、ページがアンロードされる前にブラウザーがページの上部までスクロールすることを心配する必要がなくなり、スクロール位置が自動的に 0 にリセットされます。

于 2014-01-16T22:00:46.183 に答える