自动恢复聊天问题



我有一个 <div id="refresh">,其中有一些mySQL内容。我有此JavaScript代码:

<script type="text/javascript">
    var auto_refreshs_contents = setInterval(
        function(){
            $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow");  // load div.refresh
        }
    , 3000); // refresh every 3 seconds
</script>

它实际上是第一次发布代码的副本,因此看起来像这样:

    0 seconds
+-------------------------------------+
|Randome Text                         |
|This is such a cool chat room        |
|Not really                           |
+-------------------------------------+
    3 seconds
+-------------------------------------+
|Randome Text                         |
|This is such a cool chat room        |
|Not really                           |
|This is such a cool chat room        |
|Not really                           |
+-------------------------------------+

如果您注意到这一点,它遗漏了帖子"随机文本"。我不知道为什么。但是,是的,这基本上是第一次做到这一点。然后在6秒钟后,它会刷新,但不满意,此后,它正确刷新了。因此,我决定在刷新之前清除页面的内容:

<script type="text/javascript">
    var auto_clearContents = setInterval(
        function(){
            $("#refresh").html(""); //clear contents of div#refresh
        }
    , 3000);  //clear existing contents every 3 seconds
    var auto_refreshs_contents = setInterval(
        function(){
            $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow");  // load div.refresh
        }
    , 3000); // refresh every 3 seconds
</script>

但是,当事情变得怪异时。我正在查看Chrome Developers工具中的networks选项卡,这表明它每200ms左右刷新一次(是200),有时需要2.5秒。我不知道...

我的代码有问题吗?有更好的方法吗?谢谢!

我认为后端一定有问题。这是一个小提琴,基本上显示您在说什么,而且正常工作。

当您看到200ms时,我认为这可能是生成index.php页面所需的时间,而不是间隔之间的时间。

如果您向我们展示了PHP页面或PHP页面本身的响应,我们可能会提供帮助。

最新更新