Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.03.2010, 15:56
Интересующийся
Отправить личное сообщение для flash_uz Посмотреть профиль Найти все сообщения от flash_uz
 
Регистрация: 16.04.2009
Сообщений: 17

Приватный чат
Здравствуйте, я хочу сделать у себя на сайте приватный онлайн чат, на подобии mail.ru agent. То есть пользователь общается с другим пользователем в новом окне. Проблема в следующем например если пользователю написали, а он в это время общается с другим пользователем, как узнать, что ему только что написали и что надо открыть открыть новое окно для общения с этим пользователем. Помогите пожалуйста! Код снизу который я делал.

var doc;
		function loadDoc (mes,from,to) {
		if (window.navigator.appName == "Microsoft Internet Explorer") 
			doc = new ActiveXObject("Microsoft.XMLHTTP");
		else 
			doc = new XMLHttpRequest();
			doc.onreadystatechange = changeOut;
			doc.open("POST", "ajax.php", true);
			query = "mes=" + encodeURIComponent(mes) + "&from=" + encodeURIComponent(from) + "&to=" + encodeURIComponent(to) + "&url=" + new Date().getTime();
			doc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			doc.send(query);
		}
		function test(mes) {
			var element = document.getElementById('send_li');
			div = document.createElement("li");
    		div.id = "reload";
			div.innerHTML = mes;
			element.appendChild(div);	
		}
		
		function changeOut(){
 		   if (doc.readyState == 4) 
        	//responseText - текст ответа
        	document.getElementById("send_li").innerHTML = doc.responseText;
		}
		
		function loadDoc2 () {
		if (window.navigator.appName == "Microsoft Internet Explorer") 
			doc = new ActiveXObject("Microsoft.XMLHTTP");
		else 
			doc = new XMLHttpRequest();
			doc.onreadystatechange = changeOut2;
			doc.open("POST", "ajax.php", true);
			query = "mes=" + encodeURIComponent("") + "&from=" + encodeURIComponent(<? echo($_GET['uid']); ?>) + "&url=" + new Date().getTime();
			doc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			doc.send(query);
		}
		function changeOut2(){
 		   if (doc.readyState == 4) {
        	//responseText - текст ответа
        		document.getElementById("send_li").innerHTML = doc.responseText;
		   }
		}


<ul id="send_li">
</ul>			
    <form>
    	<input type="text" name="mes" />
        <input type="button" value="Отправить" onclick="test(mes.value); loadDoc(mes.value,<? echo($_SESSION['id'].','.$_GET['uid']) ?>)" />
    </form>


и ajax

if (isset($_POST['mes'])) {
	if(trim($_POST['mes'] != "")) {
		$encoding = iconv("utf-8", "windows-1251",$_POST['mes']);
		 mysql_query("INSERT INTO `chat` (`mes`,`to`,`from`) VALUES ('$encoding', '$_POST[to]', '$_POST[from]')");
	}
	  $chatqv = mysql_query("SELECT * FROM `chat` WHERE `to` = $_SESSION[id] OR `from` = $_SESSION[id]");
	  if (mysql_num_rows($chatqv) > 0) {
		  while($row = mysql_fetch_array($chatqv)) {
			  echo('<li>'.$row['mes'].'</li>');
		  }
	  }
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чат vochat и фреймы Abaza Работа 2 02.11.2009 14:40
Чат на Аяксе slayersilence AJAX и COMET 2 27.02.2009 10:41
Оцените чат знакомств. kabaliero Ваши сайты и скрипты 1 03.02.2009 12:41