次のテスト アプリケーションがあります: http://dev.driz.co.uk/ajax/
リンクをクリックして、jQuery AJAX を使用して他のページに読み込むことができます。コンテンツを別のパネルに読み込むには、globalTabs と localTabs の 2 つのタイプがあります。注: 各ページは実際には完全なページですが、jQuery の find メソッドを使用して必要なコンテンツのみを取得します。
これを強化するために、HTML5 History API (クロスブラウザー用の History.js) を使用しています。
タイトルと URL が正常に変更され、履歴スタックが正常にプッシュされ、戻るボタンと進むボタンを使用すると、URL とタイトルが元に戻ります。
複雑な部分は、以前の状態からコンテンツをロードし直し、グローバルまたはローカルの ajax などの正しいタイプをロードすることです。これを達成するには、データと型の両方をプッシュ状態に渡して、ポップ状態で再利用できるようにする必要があると考えています...
誰かが私を正しい方向に向けるのを手伝ってくれますか? 最初の部分はすべて機能しています。この ajax タイプを pushState に渡し、それを popstate の変更で再利用する場合です。
これを改善するために、次のように書き直して、型とデータを渡すための計画を示します。
注: 大文字の History は、History.js を使用しているためです。
var App = {
    init: function() {
        $(document).ready(function() {
            $('.globalTabs li a').live('click', function (e) {
                e.preventDefault(); 
                App.globalLoad( $(this).attr('href') );
            }); 
            $('.localTabs li a').live('click', function (e) {
                e.preventDefault();
                App.localLoad( $(this).attr('href') );
            });
        });
        window.addEventListener('popstate', function(event) {
            // Load correct content and call correct ajax request...
        });
    },
    localLoad: function ( url ) {
        $.ajax({
            url: url,
            success: function (responseHtml) {
                $('.localContent').html($(responseHtml).find('#localHtml'));
                $data = { $(responseHtml).find('#localHtml'), 'local'};
                History.pushState($data, $(responseHtml).filter('title').text(), url);
            }
        });
    },
    globalLoad: function ( url ) {
        $.ajax({
            url: url,
            success: function (responseHtml) {
                $('.mainContent').html($(responseHtml).find('#globalHtml'));
                $data = { $(responseHtml).find('#globalHtml'), 'global'};
                History.pushState($data, $(responseHtml).filter('title').text(), url);
            }
        });
    }
};
App.init();
更新: この質問を明確にするために、それらは私が助けを求めている 2 つの問題です。
1.) ajax リクエストで動作する戻るボタンと進むボタンを取得して、コンテンツ領域に正しいデータをロードします。
2.)グローバル div リクエストかローカル div リクエストかを認識できるように、pushState メソッドを使用してコンテンツを渡すことにより、コンテンツを正しい領域にロードします。