5

私は上下に検索しましたが、Internet Explorer のどのバージョンでも setInterval が機能することを可能にするものをまだ見つけていません。

以下は私が現在使用しているコードです...

<script type="text/javascript">

$(document).ready(function () {
    $('#varRefresh').load('reload.php');

    window.setInterval("refreshVar();", 5000); //**** every 5 seconds
});

function refreshVar() {
    $('#varRefresh').load('reload.php');
}
</script>

<div id="varRefresh">
</div>

IEで動作させることができるように、誰かが私を正しい方向に向けることができますか?

4

5 に答える 5

3

読み込もうとしているページは単にキャッシュされている可能性があります。

次のようにして、Internet Explorer がページをキャッシュしないように強制できます。 Internet Explorer 8 でページがキャッシュされないようにします。

または、単にタイムスタンプを URL に追加することもできます。URL は IE にとって新しいものであるため、常に最新バージョンが読み込まれます。

例:

$(document).ready(function () {
    $('#varRefresh').load('reload.php?'+new Date().getTime());

    window.setInterval(refreshVar, 5000); //**** every 5 seconds
});

function refreshVar() {
    $('#varRefresh').load('reload.php?'+new Date().getTime());
}
于 2012-11-28T10:39:40.773 に答える
1

Chrome、FireFox、Safari、Opera、Internet Explorer、Android ブラウザでテスト済みのFiddleの動作。

<script type="text/javascript">

$(document).ready(function () {
    $('#varRefresh').load('reload.php');
    refreshVar();
});

function refreshVar() {
    var refresh = setInterval(function(){
    $('#varRefresh').load('reload.php');
    }, 5000);
}
</script>

<div id="varRefresh">
</div>

それが役に立てば幸い!

于 2014-05-31T05:28:23.153 に答える
1

この行を置き換えてみてください:

window.setInterval("refreshVar();", 5000);   //**** every 5 seconds

これとともに:

window.setInterval(refreshVar, 5000);   //**** every 5 seconds

(最初の引数を文字列ではなく関数参照にする)

于 2012-11-26T13:50:55.680 に答える
0

関数の名前を文字列リテラルとして渡す代わりに、次のように関数を参照として渡してみてください。

window.setInterval(refreshVar, 5000);
于 2012-11-26T13:51:15.193 に答える
-2

代わりに setTimeout() を使用してみてください。それについてこのリソースを見てください: http://www.w3schools.com/jsref/met_win_settimeout.asp

于 2012-11-26T13:52:13.290 に答える