如何让网页上的框架不断更新内容而无需用户刷新页面?

时间:2010-08-06 15:13:06

标签: rss

每当服务器决定它的时间时,我需要我的一个帧来改变它的内容。那可能吗?可以使用RSS吗?它在网络和处理方面需要太多吗?

2 个答案:

答案 0 :(得分:0)

这可能不是资源效率最高的方法,但您可以递归使用setTimeout函数。以下是一个例子。

<html>
  <head>
    <script type="text/javascript">
      var t;
      function setTimeout_recursive(statement,interval){
        t = setTimeout(statement,interval);
      }
    </script>
  </head>
  <body onload="setTimeout_recursive('document.getElementById(\'blah\').src=\'page.php\';',5000);">
    <iframe id="blah"></iframe>
  </body>
</html>

文件page.php是我加载新内容的假设脚本。您可以将此替换为您为此目的使用的任何文件。

interval变量是函数调用时和执行string语句中的代码之间的延迟(以毫秒为单位)。通常递归使用退出函数以防止无限循环;但是,在这种情况下,由于存在相当大的延迟,因此它不应该足够资源密集来锁定浏览器。

同样,由于多种原因,这可能是一种非常糟糕的方式,但这是我想到的第一件事。在大多数需要动态内容加载的情况下使用AJAX要好得多。 (我可以想到的唯一情况是文件上传不在哪里,您希望用户留在同一页面而不是提交表单并重定向。)

干杯,祝你好运。

答案 1 :(得分:0)

您可以使用Javascript实现此目的。

我使用jQuery,服务器端脚本返回json而不是XML / RSS。轮询是一种常见的策略,以及非终止响应。

不要使用框架,让你的jQuery将内容放在DIV中。