もう少し洗練されたページを更新するためにjQueryを使用しようとしています。メタリフレッシュでは、ページが一度読み込まれなかった場合、ページは再び読み込まれません。何度もロードしようとするものを作ろうとしています。一度ロードできない場合は、次回に再度試行するので、最後のロードが成功した場合は、そのページの新バージョンが表示されます介入する断層であった。JavaScriptページを更新するにはどうすればいいですか?
現時点での私のコードは次のようになります。これまでのところ、私が言うことができるように、これはNOOPとして機能している
<script language="JavaScript" type="text/javascript" src="/include/jquery.js">
</script>
<script language="JavaScript">
var delay=5*1000;
function load(){
setTimeout(load, delay);
jQuery("#content").load("calendar_internal.cgi?days=40", function(){
jQuery("#preload").hide("slow");
});
delay = 15*60*1000;
}
jQuery("#content").load("calendar_internal.cgi?days=40", load);
</script>
。それは更新されません。
これを少なくとも基本レベルで動作させてリフレッシュするにはどうすればよいですか?1つの不良リフレッシュは、ページを見たい場合にリロードする必要はありません。
--EDIT--
私が今持っていることは明らかに(光テストの後に)取り組んでいる。そのような
<script language="JavaScript">
var placeholder = jQuery('<div></div>');
function load(){
setTimeout(load, 15*60*1000);
placeholder.load("logistic_ajax.cgi", function(){
if (placeholder.html())
jQuery('#content').html(placeholder.html());
})
}
load();
</script>
なぜロード関数の最初の行にsetTimeoutのload関数を呼び出していますか? – Abbas
安定性のため。まず、次回の実行を設定してからネットワークの負荷を試行し、ネットワークの負荷が失われた場合は、試行された負荷を1回以上失うことはないと考えます。 – JonathanHayward
多分私はここで論理を見ていないが、これは無限の再帰呼び出しではない?ロード関数の最初の行は、ロード関数などを呼び出すsetTimeoutを呼び出します。 – Abbas