0

jsが利用可能なときにajaxを使用してページセグメントをロードするサイトがあります。これはすべてのブラウザで機能していましたが、唯一の問題は、ブラウザの履歴がHTML5ブラウザでのみ更新されたことです。

私は最近このサイトで多くの作業を行っており、最近ではhtml4ブラウザーの履歴を整理することにしました。その際、IEでサイトを確認したところ、データの取得方法に問題が発生していることがわかりました。一部のajax呼び出しが表示されています(IEにのみ影響します-FFには影響しません)。

URLは次のように構成されています。

sitename.dev/main_category/sub_category

入力するだけでsitename.dev/main_categoryすべてが正常に機能しますが、結果のサブカテゴリの1つへのリンクをクリックするとsitename.dev/main_category/sub_category、結果は読み込まれますが、IEで正しく表示されません。ハードリロードのためにブラウザにアドレスを入力すると、すべて正常に機能します

動作中(ハードリロードによる): 動作中(ハードリロードによる):

ajaxを介して機能しない:

ajaxを介して機能しない:

これはajaxがロードされたコンテンツであるため、domを検査できませんが、関数が正しく起動しているように見え、ajax呼び出しが正しい結果を返しています。

これが私のajax呼び出しのコードです

function leftsort_click(event) { //main sort click (left menu)
    var page = window.name, page_index,
    api = $('#right_pane').jScrollPane({
    showArrows: true,
    maintainPosition: false
    }).data('jsp');

    if (!$(this).hasClass('sort_cat')) {

    $('ul.sort_ul li, ul.cat_items li').removeClass('active');
    $(this).addClass('active');
    var sid = $(this).attr('id');
    var title = $(this).html();
    var loadUrlx= page;
    if ((sid != '') && (sid != 'undefined')) {
        loadUrlx += '/'+sid;
    }
    if($('.rpp_btn.active').length>=1){
        var res_per_page = $.trim($('.rpp_btn.active').html());
        page_index = $.trim($('.res_page_select.active a').html());
        if (($('.rpp_btn.active').hasClass('just_clicked'))||(!$('.res_page_select').hasClass('just_clicked'))) {
        page_index = '1';
        }
        if ((page_index != 1) || (res_per_page != 25)) {
        loadUrlx += '/' + page_index + '/' + res_per_page;
        }
        $('.rpp_btn, .res_page_select').removeClass('just_clicked');
    }

    loadUrlx = b_url + loadUrlx;
    if (History.enabled) {
        History.pushState(null, null, loadUrlx);

    }

    $.ajaxSetup({
        cache: false
    });

    $("#result_area").load(loadUrlx, function() {
        $("#result_table").trigger("update");
        api.reinitialise();
        tsizer();
    });
    }
}

どんな助けや提案も大歓迎です

4

1 に答える 1

0

これを解決しました。私はdivをtbodyに注入していました-つまり、それについては満足していません。

于 2012-12-14T14:50:32.333 に答える