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
これを解決するには、スクロールイベントにアタッチし、ユーザーが初めてスクロールしたときにスクロール位置をリセットします。私はその場でリロードできます。
このように見えます:
var scrollResetOnce = false;
$(window).on("scroll", function() {
if (scrollResetOnce) return;
scrollResetOnce = true;
scrollTo(0, -1);
});
x = 0; //horizontal coord
y = document.height; //vertical coord
window.scroll(x,y);
そのような一部のJavaScriptは、自動スクロールを停止するように操作できる可能性があります。
ただし、スクロールが自動的に最上部に移動するように設定されているか、実際にChromeページを最後のスクロール位置に移動する標準オプションを探しているか、完全にオフになりますか?
現在、scrollTop()に何を使用しようとしていますか?