1

我有一个脚本可以自动刷新页面上的某个 div(我从这里的另一篇文章中得到)

<script type="text/javascript">
    var auto_refresh = setInterval(
    function(){
        $('#refresh').load('index.php?_=' +Math.random()).fadeIn("slow");
    }, 10000); // refresh every 10000 milliseconds
</script>
...............
<div id="refresh">
  <!-- Some PHP Code -->
</div>

这会刷新,但是当它刷新时,我会获取整个 html 文档并将其放入 div 中。像这样:

div 中的正文

如您所见,刷新后的 div(用红色标记的那个)正在将身体推入其中。有任何想法吗???

4

2 回答 2

4

首先,您将整个页面加载到分隔符中,从而导致文件完全重新加载。相反,您应该从单个文件加载最近的帖子分隔符,即使在第一页加载时也是如此。然后随着时间的推移不断刷新。

其次,您应该尽可能少地将数据从服务器传输到客户端。最多,您应该使用各种类型的简约校验和(例如消息数)来确认客户端和服务器已同步。

最后,如果您选择使用这种格式,请以JSONXML等格式传输数据,并让客户端将其显示在页面上。传输样式化的 HTML 会增加网络开销,这不是最佳做法。

于 2012-10-22T05:31:56.643 回答
4

您正在将整个页面加载到 div。修改代码以仅使用获取的文档的一部分:

    <script type="text/javascript">
        var auto_refresh = setInterval(
        function(){
            $('#refresh').empty();
            $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow");
        }, 10000); // refresh every 10000 milliseconds
    </script>
于 2012-10-22T06:41:24.977 回答