0

経由で移動する長いページがありますscrollTop()

scrollTop() はブラウザーの戻るボタンでは適切に機能しないため (ブラウザーはそれを無視します)、すべての popstate でブラウザーを更新しようとすると、機能し、ユーザーのスクロール位置が本来あるべき場所になります。

問題は、コードが無限にリフレッシュされることです。

    $(window).bind('popstate', function(event) {
        //var path = window.location.pathname;
        //var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1];
        //var pos = "#" + filename;
        //$(document).scrollTop(pos);
        location.reload();
    });

一度だけ更新するように修正するにはどうすればよいですか? 試しone()ましたが同じです。

4

1 に答える 1

-1

ブラウザ履歴用の jQuery およびプレーン JS プラグインが多数あり、必要なことが実行されます。
ページを更新してもブラウザの履歴が有効になるとは思いません。

jQuery BBQ :
http://benalman.com/projects/jquery-bbq-plugin/
デモ:
http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/#chicken.html

履歴 JS
https://github.com/browserstate/history.js/

于 2013-05-12T09:53:37.457 に答える