summaryrefslogtreecommitdiffstats
path: root/pages/chat.php
diff options
context:
space:
mode:
Diffstat (limited to 'pages/chat.php')
-rw-r--r--pages/chat.php18
1 files changed, 15 insertions, 3 deletions
diff --git a/pages/chat.php b/pages/chat.php
index da423bf..08b6393 100644
--- a/pages/chat.php
+++ b/pages/chat.php
@@ -195,20 +195,32 @@ function spoil(obj) {
$(obj).removeClass("spoiler");
}
+var chatIsBusy = false;
function getChat(message) {
+ if (chatIsBusy) return;
+ chatIsBusy = true;
var dataString = 'getChatFromID='+lastID;
+ var backup = new Array();
if (chatBuffer.length > 0) {
dataString += '&send=true&messages='+prepChat(chatBuffer);
+ backup = chatBuffer.slice(0);
+ chatBuffer.length = 0;
}
-
$.ajax({
type: "POST",
url: "ajax/chat.ajax.php",
data: dataString,
+ error: function() {
+ chatBuffer = backup.concat(chatBuffer);
+ //console.log('concated:', chatBuffer, backup);
+ },
success: function(data) {
getChatDone(data);
- chatBuffer.length = 0;
- }
+ //console.log('b:', backup);
+ },
+ complete: function() {
+ chatIsBusy = false;
+ }
});
}