Проблема с выводом сообщений
Суть проблемы такова:
есть две команды,которые берутся из базы данных и выводятся в окно. Но проблема в том,что одну команду вывести не могу,сразу выводятся обе. Помогите разобраться в чем проблема. var chatURL = "/webcschat/chat.php"; var xmlHttpGetMessages = createXmlHttpRequestObject(); var xmlHttpGetColor = createXmlHttpRequestObject(); var updateInterval = 1000; var debugMode = true; var cache = new Array(); var lastMessageID = -1; var lastMessageID2 = -1; function createXmlHttpRequestObject() { var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch(e) { var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) { try { xmlHttp = new ActiveXObject(XmlHttpVersions[i]); } catch (e) {} } } if (!xmlHttp) alert("Ошибка создания объекта XMLHttpRequest."); else return xmlHttp; } function init() { requestNewMessages(); } function requestNewMessages() { if(xmlHttpGetMessages) { try { if (xmlHttpGetMessages.readyState == 4 || xmlHttpGetMessages.readyState == 0) { var params = ""; if (cache.length>0) params = cache.shift(); var params2 = ""; if (cache.length>0) params2 = cache.shift(); else params = "id=" + lastMessageID; params2 = "id=" + lastMessageID2; xmlHttpGetMessages.open("POST", chatURL, true); xmlHttpGetMessages.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttpGetMessages.onreadystatechange = handleReceivingMessages; xmlHttpGetMessages.send(params); } else { setTimeout("requestNewMessages();", updateInterval); } } catch(e) { displayError(e.toString()); } } } function handleReceivingMessages() { if (xmlHttpGetMessages.readyState == 4) { if (xmlHttpGetMessages.status == 200) { try { readMessages(); readMessages2() } catch(e) { displayError(e.toString()); } } else { displayError(xmlHttpGetMessages.statusText); } } } function readMessages() { var response = xmlHttpGetMessages.responseText; if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0 || response.length == 0) throw(response.length == 0 ? "Void server response." : response); response = xmlHttpGetMessages.responseXML.documentElement; idArray = response.getElementsByTagName("id"); nameArray = response.getElementsByTagName("name"); timeArray = response.getElementsByTagName("time"); messageArray = response.getElementsByTagName("message"); displayMessages(idArray, nameArray, messageArray); if(idArray.length>0) lastMessageID = idArray.item(idArray.length - 1).firstChild.data; setTimeout("requestNewMessages();", updateInterval); } function displayMessages(idArray, nameArray, messageArray) { for(var i=0; i<idArray.length; i++) { var message = messageArray.item(i).firstChild.data.toString(); var time = timeArray.item(i).firstChild.data.toString(); var name = nameArray.item(i).firstChild.data.toString(); var color_array = new Array("#FF0000", "#00AA00" ,"#0000FF", "#000000") var rand = Math.floor(Math.random()*3); var htmlMessage = "<div style=\"color:" + color_array + "\">" + time + ' ' + "<b>" + name + "</b>" + message.toString() + "</div>"; displayMessage (htmlMessage); } } function displayMessage(message) { var oScroll = document.getElementById("scroll"); var scrollDown = (oScroll.scrollHeight - oScroll.scrollTop <= oScroll.offsetHeight ); oScroll.innerHTML += message; oScroll.scrollTop = scrollDown ? oScroll.scrollHeight : oScroll.scrollTop; } function readMessages2() { var response = xmlHttpGetMessages.responseText; if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0 || response.length == 0) throw(response.length == 0 ? "Void server response." : response); response = xmlHttpGetMessages.responseXML.documentElement; idArray = response.getElementsByTagName("id"); ntimeArray = response.getElementsByTagName("ntime"); nnameArray = response.getElementsByTagName("nname"); onameArray = response.getElementsByTagName("oname"); displayMessages2(idArray, onameArray, nnameArray, ntimeArray); if(idArray.length>0) lastMessageID = idArray.item(idArray.length - 1).firstChild.data; setTimeout("requestNewMessages();", updateInterval); } function displayMessages2(idArray, onameArray, nnameArray, ntimeArray) { for(var k=0; k<idArray.length; k++) { var nname = nnameArray.item(k).firstChild.data.toString(); var oname = onameArray.item(k).firstChild.data.toString(); var ntime = ntimeArray.item(k).firstChild.data.toString(); var htmlMessage2 = "<div style=\"color:" + "\">" + ntime + " </b>" + "<font color=red>" + "<font size=3>" + "* " + "</font>" + "</font>" + 'Игрок ' + "<b>" + oname + "</b>" + ' сменил ник на ' + "<b>" + nname + "</b>" + "</div>"; displayMessage (htmlMessage2); } } function displayError(message) { displayMessage("Ошибка доступа к серверу! "+ (debugMode ? "<br/>" + message : "")); } function trim(s) { return s.replace(/(^\s+)|(\s+$)/g, "") } |
Часовой пояс GMT +3, время: 03:07. |