-2

ie7 と 8 に影響を与える jquery .load 問題の最適な解決策を見つけるために何時間も検索してきました。外部の jsp ページからコンテンツをロードしている次のコード ブロックがあります。そして8。

$(document).ready(function(){
    $.ajaxSetup({ cache: false });
    setInterval(function () {
        $('#myDiv').load('test.jsp').fadeIn("slow");
    }, 10000); 
});

次のように新しい日付を設定するなど、多くの回避策を見つけました。

$('#myDiv').load('test.jsp',{noncache: new Date().getTime()},function(){..}).fadeIn("slow");

しかし、私にとってはうまくいきませんでしたが、それでもコンテンツは IE7 と 8 にロードされません。

4

1 に答える 1

0

まず、コンテンツをフェードインする場合は、最初に非表示にする必要があります。含まれているdivがすでに表示されている場合、フェードインすることはできません。

次に、キャッシュに少し熱心なバージョンのIEがあり、URLの一意の引数を使用してキャッシュを無効にすることができます(試したように)。

第三に、.load()アニメーションではないため、アニメーションキューを使用しないため、ロードの完了後に何かを実行する場合は、完了関数で実行する必要があります。あなたはこれらの最後の2つの部分を持っていますが、それらをすべてまとめていません。

これらの3つすべてを次のようなものと組み合わせることができます。

$(document).ready(function(){
    var myDiv = $('#myDiv');
    setInterval(function () {
        myDiv.fadeOut('slow', function() {
            var now = new Date().getTime();
            myDiv.load('test.jsp?unique=' + now, function() {
                myDiv.fadeIn('slow');
            });
        });
    }, 10000); 
});
于 2013-03-14T23:23:15.120 に答える