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