0

このコードを実行しました

$j('#nav_menu-2 li li a').bind('click', function(e){ 
    //check when pagination link is clicked and stop its action.
    e.preventDefault();

    //get the href attribute
    var link = $j(this).attr('href');

    $j('#content').load(link + ' #content');
});

chrome、ff、ie9 では正常に動作しますが、問題は ie8 と ie7 から始まります。

私はウェブを検索し、この方法を試しました

$j('#content').load(link + '?' + Math.random()*99999 + ' #content');

しかし、まだ機能していません。コンテンツは表示されません。
サイトのURLです

最初の青いボックス (矢印 1) をクリックして、矢印 2 と矢印 3 の内容を変更してみてください。

ここに画像の説明を入力

4

3 に答える 3

2

ajax リクエストは IE8 でキャッシュされるため、

$.ajaxSettings.cache = false;

load 関数を使用する前に

http://zacster.blogspot.in/2008/10/jquery-ie7-load-url-problem.html

http://api.jquery.com/jQuery.ajax/

cache (デフォルト: true、dataType 'script' および 'jsonp' の場合は false)
タイプ: ブール値
false に設定すると、要求されたページがブラウザによってキャッシュされないように強制されます。注: キャッシュを false に設定すると、HEAD および GET リクエストでのみ正しく機能します。GET パラメータに「_={timestamp}」を追加することで機能します。このパラメーターは、GET によって既に要求された URL に対して POST が行われる IE8 を除いて、他のタイプの要求には必要ありません。

于 2013-06-25T12:30:31.430 に答える
2

</div>問題は、html コード内の余分な不要なタグでした。最新のブラウザはすべてこれを処理できましたが、どうやら ie8 と 7 はその混乱に見舞われたようです。

于 2013-01-26T22:54:07.657 に答える
2

これは間違っているように見えます:

$j('#content').load(link + '?' + Math.random()*99999 + ' #content');

代わりにこれを試してください:

$j('#content').load(link + '?' + (Math.random()*99999).toString());

また、キャッシュに問題がない限り、その乱数が必要かどうかはわかりません。

$j('#content').load(link);

#contentこれは、適切な測定のために、応答で検索するキャッシュを無効にしたソリューションです(テストされていません):

$j.ajax({
    url: link,
    cache: false,
    dataType: "html",
    success: function(data){
        $('#content').html($(data).find('#content').html());
    }
});
于 2013-01-26T22:12:39.873 に答える