0

Web サイトで ajax を使用していますが、すべてのリンクを制御する ajax 関数があります。

このようなもの:

function sendGet(url,dataform){
    $.post(url,{_ajax:1},function(data){
        $(dataform).html(data);
        window.location.hash = url;
    });
    return false;
}

URLでハッシュを設定します。

また、ドキュメントの読み込みに次のコードがあります。

    var load_hash = window.setInterval(function(){
        if(window.location.hash) sendGet(window.location.hash.substr(1),"#include_content");
        clearInterval(load_hash);
    },1);

戻るボタンが押されているときに、URLをハッシュでロードしたい。

しかし、ほとんどの場合、機能していません。ページを更新すると時々動作します。

私はそれを正しくやっていますか?

そうでない場合、これを行う他の方法はありますか?

4

1 に答える 1

1

windowをリッスンするオブジェクトにイベントを追加できhashchangeます。

$(window).bind('hashchange', function() {
    sendGet(window.location.hash.substr(1),"#include_content");
});

戻るボタンをクリックして正しいページをロードすると、それが機能するはずです。

于 2013-08-29T09:53:00.050 に答える