有没有其他方法可以在没有计时器的情况下为所有成员刷新div?

时间:2017-09-14 02:39:32

标签: php timer chat

我有一个从头开始的聊天脚本。一切正常,但我有一个下降,我的网站从计时器收到太多的请求。我可以看到,当我在谷歌浏览器(网络)上检查元素时,计时器每秒调用一次功能。我需要这个,为所有成员进行聊天更新,但如果可能,我想以其他方式进行。

function Chat_Send(){
    $("[data-toggle='popover']").popover('hide');
    var value=$.trim($("#message").val()); //If input is empty
    if(value.length>0){
        $.ajax({
            type: 'POST',
            url: 'load.php?chat_send',
            data: "message=" + $('#message').val(),
        });
        $('#message').val('');
        $('#message').attr("disabled", "true");
        $('#mybutton').attr("disabled", "true");
        setTimeout(enableMe, 1000);
        $("#chatbox").animate({ scrollTop: $(this).height() }, "fast"); return false;
    }
}
function Chat_Refresh(){
    $("#chatbox").animate({ scrollTop: $(this).height() }, "fast"); return false;
    <?php
    // Set status to 0
    $sql_chat = "UPDATE users SET status='0'";
    $stmt_chat = $handler->prepare($sql_chat);
    $stmt_chat->execute();
    ?>
}
setInterval('test()', 1000);
function test(){
    $('#chatbox').load('load.php?chat_refresh');
    $("#online-users-text").load(location.href+ ' #online-users-text');
    <?php
    $query_chat = $handler->query('SELECT * FROM users');
    while($ch = $query_chat->fetch()){
        if($ch['status'] == 1){
            ?> Chat_Refresh(); <?php
        }
    }
    ?>
}

你可以在这里测试monkstudio.biz/chat,登录查看聊天: 用户名:演示 密码: demo123

0 个答案:

没有答案