强大的自动刷新网页

时间:2010-09-16 19:16:30

标签: javascript refresh page-refresh

我有很多网页需要每分钟自动刷新一次。使用META REFRESH或一些javascript轻松完成。 (是的,整个页面需要刷新 - 很多内容都在变化)。

但是,它需要尽可能健壮。如果Web服务器暂时关闭或网络打嗝,它将无法刷新,然后会出现404错误等,并永久停留在错误页面上。

我能想出的唯一选择是将整个页面托管在IFRAME中,并在父页面上放置一些脚本以刷新框架页面。框架应该是不可见的,因此任何调整窗口的大小也需要调整IFRAME的大小。

是否有更简单,更优雅的解决方案? (由于时间限制,转到Flash / AIR / Silverlight也不是一种选择。)

3 个答案:

答案 0 :(得分:5)

您可以使用Ajax加载页面的新内容。如果您的页面是在服务器端生成的,那么您可以省略身体周围的HTML并仅输出它的内容。然后,您可以使用Ajax接收新主体,并使用body.innerHTML = request.responseText替换页面的现有主体。在Ajax回调中,您可以执行所有类似的错误处理,甚至可以忽略任何错误并重试Ajax请求。

<html>
<head>
<script type="text/javascript">
function doRequest() {
    var request = new XMLHttpRequest();
    request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200)
                 body.innerHTML = request.responseText;
            doRequest(); // restart the request
        }
    }
    request.open("get", "", true);
    request.send(null);
}
</script>
<body onload="doRequest()">
Page content...
</body>
</html>

答案 1 :(得分:2)

Google对gmail使用iframe方法。谷歌的解决方案不会出错。

答案 2 :(得分:-1)

您也可以使用JQUERY加载方法。

相关问题