1

Google Chrome の非常に奇妙な動作が発生しています。

私の JavaScript では、特定の部分にスクロールするページの読み込み時に scrollTo があります。

コードは次のように単純です。

$('body').animate({ scrollTop: $('nav ul').position().top }, 1000);

しかし問題は、ページをスクロールするとGoogle Chromeがページをリロードし、JavaScriptが再び起動しないことです。

たぶん、以前にそれを経験していて、それがなぜ起こっているのか、解決策やアイデアを持っている人はいますか?

ありがとうございました!

PS は実際の例を示すのを忘れていました (広告と見なさないでください) - csspandemic.com

PPS 人々が示唆したように、Windows では問題なく動作し、OSX でのみ発生しています。(タイトル変えました。)

4

1 に答える 1

1

Chromeのバグのようです:http://crbug.com/61674。Chromeはページをリロードしていません。スクロール位置を、ページが最後にロードされたときの位置に復元しています。ページ内の別の位置にスクロールしてから更新すると、ジャンプがその最後の位置にあることがわかります。逆に、シークレットモードでページを読み込むと、キャッシュされたスクロール位置がないため、正常に機能します。

残念ながら、私はこれに対する良い回避策を知りません。キャッシュされたスクロール位置を無効にしようとしてlocation.hashを変更しようとしましたが、役に立ちませんでした。

于 2012-11-28T12:30:10.757 に答える