そのため、最近ではほとんどのブラウザーがページの更新時にウィンドウ スクロールの位置を自動的に変更しますが、これは通常は素晴らしいことですが、ページをリロードして、ユーザーが離れた場所とは異なるページの部分に焦点を当てる必要がある状況があります。フォーカスを取得する新しい要素は非表示として開始されるため、ハッシュは機能しないことに注意してください。とりわけ div を表示できるように、JS で処理する必要があります。
リロード後に呼び出されます...
$(document).ready(function(){
$('#mydiv').show();
var top = $('#myelement').offset().top;
window.scrollTo(0, top);
});
それにもかかわらず、ページはユーザーがページを離れた場所に焦点を当てています。多くのデバッグの後、コードは十分に機能しているように見えますが、ブラウザは再読み込みイベントを処理してから、新しく配置したスクロールを再配置しています...それは即座に発生しますが、直後にアラートを配置すると私のスクロールは、適切な画面位置を示しています。アラートを無視した後、ブラウザはスクロールをジャンプして IT が想定する場所に戻します (少なくとも Chrome ではそうです)。
私の質問は、ブラウザー (クロスブラウザー) がリロード イベントを処理しないようにする方法はありますか? タイムアウトでスクロールを遅らせることはうまくいくようですが、非常に専門的ではなく、びくびくしています。
私はもう試した
$(document).unbind("scroll");
ここのどこかで推奨されているのを見ましたが、何もしませんでした。
助けてくれてありがとう。