如何修复我的JavaScript页面刷新

时间:2012-01-02 20:55:15

标签: javascript jquery refresh reload

我正在尝试使用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>

1 个答案:

答案 0 :(得分:1)

var $placeHolder = $('<div />');
$placeHolder.load(yourURL,function() {
    if ($placeHolder.html()) {
        $("#content").html($placeHolder.html());
    }
});

或类似的东西。这样你就不会做任何事情或什么都没做。如果HTML回来时出现问题,您可以检查“if”条件。不确定响应的详细信息,因此您需要自己解决这些问题,或者让我了解更多细节。

干杯。