我正在尝试使用jQuery来进行稍微复杂的页面刷新。使用元刷新,如果页面无法加载一次,则不会再次加载。我试图制作一些会反复尝试加载的东西 - 如果它无法加载一次,它将在下次再次尝试,以便如果最后一次加载成功,我将看到一个新版本的页面,无论是否存在是介入的错误。
我目前的代码是:
<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>
据我所知,这是一个蠢货。它没有刷新。
我怎样才能让它至少在基本级别上工作,以便刷新,但是如果我想要查看页面,那么一次刷新并不意味着我必须重新加载?
- 编辑 -
我现在所拥有的显然是在工作(经过轻度测试):
<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>
答案 0 :(得分:1)
var $placeHolder = $('<div />');
$placeHolder.load(yourURL,function() {
if ($placeHolder.html()) {
$("#content").html($placeHolder.html());
}
});
或类似的东西。这样你就不会做任何事情或什么都没做。如果HTML回来时出现问题,您可以检查“if”条件。不确定响应的详细信息,因此您需要自己解决这些问题,或者让我了解更多细节。
干杯。