Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Автоматическое обновление страницы / 2 сообщений из 2, страница 1 из 1
28.01.2006, 10:53
    #33508796
grishkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое обновление страницы
В общем я хочу написать чат на пхп, как это сделать я представляю. Единственная загвоздка в том, что я не знаю как сделать так, чтобы при добавлении сообщения происходило автоматическое обновление окна в браузере клиента.
Я думаю после добавления сообщения обновлять поле в таблице базы данных, в котором будет указано время добавления последнего сообщения. Поэтому нужен какой-то скрипт, возможно на Java, который бы отслеживал обновления этого поля и обнавлял страницу. Кто-нибудь знает как должен выглядеть этот скрипт?
Возможно существует какой-нибудь другой способ реализации чата. Буду рад его выслушать.
Спасибо за ответы...
...
Рейтинг: 0 / 0
31.01.2006, 16:36
    #33513848
madgol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое обновление страницы
Можно попробовать XMLHttpRequest - каждый раз, когда кто-нибудь добавит новое сообщение "хук" будет получать xml содержания типа: отправитель, время, сообщение

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
var req;

function loadXMLDoc(url,vars)
{
//  native XMLHttpRequest
 if  (window.XMLHttpRequest) {
	req =  new  XMLHttpRequest();
	req.onreadystatechange = processReqChange;
	req.open("POST", url, true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	req.send(vars);
//  IE/Windows ActiveX version
}  else   if  (window.ActiveXObject) {
	req =  new  ActiveXObject("Microsoft.XMLHTTP");
	 if  (req) {
		req.onreadystatechange = processReqChange;
		req.open("POST", url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		//alert(vars);
		req.send(vars);
	}
}
}



function processReqChange() 
{
    // only if req shows "complete"
     if  (req.readyState ==  4 ) {
        // only if "OK"
         if  (req.status ==  200 ) {
            // ...processing statements go here...
			response = req.responseXML.documentElement;

("Text",req.responseText);
			method = response.getElementsByTagName('method')[ 0 ].firstChild.data;
			user = response.getElementsByTagName('user')[ 0 ].firstChild.data;
			time = response.getElementsByTagName('time')[ 0 ].firstChild.data;
			result = response.getElementsByTagName('content')[ 0 ].firstChild.data;
      		eval(method + '(\'\',user,time,result,)');
        }  else  {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

вызывать:
Код: plaintext
1.
2.
    url  = 'chat.php';
   vars = 'id=' +id;
    loadXMLDoc(url,vars);

Ловушка:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function get_thumbs(keyw,response)
{
table = document.getElementById('conteiner'); 
   if  (response != '')
  { 
        //обработка
   }
   else 
  {
        //вызов
    }
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Автоматическое обновление страницы / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]