Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: чат!!!
 
 автор: m@rchello   (15.01.2006 в 21:01)   письмо автору
 
 

Помогите пожалуйста есть ли у кого нить самый самый простой чат просто из двух фреймов (в одном форма а в другом вывод сообщений)Но чтоб с java Тоесть сообщения при обновлении не моргали!!! Просто хочу посмотреть на самом простейшем ванрианте как вообще это делается !!! Или может кто сможет написать такой как бы шаблон???
Заранее спасибо!!!

   
 
 автор: Саня   (15.01.2006 в 22:30)   письмо автору
 
   для: m@rchello   (15.01.2006 в 21:01)
 

Поищите там:
http://phpclub.ru/?m=app&s=54
http://script.woweb.ru/index.htm/c/41
http://cgi.myweb.ru/catalog.phtml?ca_id=219&cp_level=2

   
 
 автор: m@rchello   (16.01.2006 в 10:37)   письмо автору
 
   для: Саня   (15.01.2006 в 22:30)
 

Там я уже везде смотрел и нечего подходящего не нашёл!!! Там все чаты с наворотами а мне надо фактически посмотреть как делается не зрз код а именно на джаве !! Как идет обновление экрана без мерцания и отправка сообщений!!! Вообщем сам этот динамический процес!!! Динамическое формирование страницы! Возможно укого есть именно такой скрипт??? Или может кто поможет (или раскажет ) как это сделать???
Често говоря у меня просто мозгов не хватает чтоб разобраться с теми чатами! :-(

   
 
 автор: XPraptor   (16.01.2006 в 11:04)   письмо автору
 
   для: m@rchello   (16.01.2006 в 10:37)
 

Вообще ставь во второй фрейм, куда сообщения выводятся, источником какой-нить php файл, который считывает сообщения с чата, а в этом файле в <head> впиши <META HTTP-EQUIV="Refresh" CONTENT="60, URL=http://этот-же-файл.php">.
И будет данный файл каждые 60 секунд перегружаться и выводить новые месаги.

   
 
 автор: m@rchello   (16.01.2006 в 11:26)   письмо автору
 
   для: XPraptor   (16.01.2006 в 11:04)
 

Ну через мета тег то всё понятно!! Но если использовать такой способ то окно с сообщениями будет при каждом обновлении моргать! А с Java как то избегают эти мерцания!!! Вот именно это мне собственно и надо!!!

   
 
 автор: Loki   (16.01.2006 в 13:46)   письмо автору
 
   для: m@rchello   (16.01.2006 в 11:26)
 

делаете дополнительный фрейм нулевого размера и пусть он у вас и обновляется, отсылая запросы к серверу. если на сервере появились новые сообщения - пусть обновляет главное окно.

   
 
 автор: XPraptor   (16.01.2006 в 13:50)   письмо автору
 
   для: Loki   (16.01.2006 в 13:46)
 

А, понял про что человек сказывает :-)
Это типа AJAX. :-))
Да такой код тоже не представляет проблеммы, в том файле, который отображает сообщения, после перезагрузки, все новые сообщения подгружаются в блок <div> со стилем dispaly: hidden.
А потмом явой данный атрибут (hidden) снимается с блока и он становится видимым.

   
 
 автор: m@rchello   (16.01.2006 в 14:00)   письмо автору
 
   для: XPraptor   (16.01.2006 в 13:50)
 

XPraptor

Ну для кого то он может и не представляет сложности а я в яве полный ноль!!!! немогли бы вы тоже показать на примере как это работает???

   
 
 автор: m@rchello   (16.01.2006 в 13:58)   письмо автору
 
   для: Loki   (16.01.2006 в 13:46)
 

Loki

А не могли бы вы пожалуйста показать как это работает на примере???

   
 
 автор: Loki   (16.01.2006 в 14:17)   письмо автору
 
   для: m@rchello   (16.01.2006 в 13:58)
 

ну в JS я не силен, так что только крупным помолом:
у вас есть три фрейма: с сообщениями, для ввода сообщений и нулевой для отслеживания изменений.
Нулевому передается некая привязка к последнему сообщению (напр. его id или время).
его код состоит буквально из одной строчки:

<META HTTP-EQUIV="Refresh" CONTENT="5, URL=http://этот-же-файл.php?id=$id">

каждые 5 сек он перезагружается делая запрос к базе:

$sql="SELECT * FROM posts WHERE id>".$_GET['id];

если данный запрос возвращает ненулевое значение, то наш файл начинает состоять из двух строчек:

<META HTTP-EQUIV="Refresh" CONTENT="5, URL=http://этот-же-файл.php?id=$id">
<body onLoad="window.parent.frame1.document.location.reload()"></body> 

в результате чего перезагружается основной фрейм, а нулевой снава начинает состоять из одной строчки.

Фрейм будет мерцать только при появлении новых сообщений. Если хотите совсем без мерцания, но надо будет менять содержание страницы средствами JS... но вообще принцип примерно будет такой же.

   
 
 автор: m@rchello   (16.01.2006 в 14:24)   письмо автору
 
   для: Loki   (16.01.2006 в 14:17)
 

ну с фреймами вроде ясно, а вот как аналогично сделать на файле а не на БД??? И интересует именно вот этот ява скриптик который выводит сообщения без мерцания!!

   
 
 автор: XPraptor   (16.01.2006 в 14:27)   письмо автору
 
   для: m@rchello   (16.01.2006 в 13:58)
 

Вот выложил два файла chat1.html chat2.html на www.interess.ru
www.interess.ru/chat1.html - главное окно,
www.interess.ru/chat2.html - окно, которое грузится во фрейм и в котором формируются сообщения

при формировании собщений, все новые сообщения пишутся в <DIV name="hidediv" style="display: none;">

   
 
 автор: m@rchello   (16.01.2006 в 14:41)   письмо автору
 
   для: XPraptor   (16.01.2006 в 14:27)
 

Ну вроде бы понятно чуток стало!! :-) А я ещё где то слышал что сообщения могут как бы в памяти висеть!!! Тоесть не в какрй фаил не записываться, это возможно??? И если возможно и вы знаете как это делается то обьясните пожалуйста (или покажите на примере) как это делается

   
 
 автор: XPraptor   (16.01.2006 в 15:30)   письмо автору
 
   для: m@rchello   (16.01.2006 в 14:41)
 

Ты возможности сервака враз выберешь если будешь в памяти все держать. Там такой код контроля ресурсов нужно писать, что лучше отбрось данную затею сразу.

   
 
 автор: m@rchello   (16.01.2006 в 16:28)   письмо автору
 
   для: XPraptor   (16.01.2006 в 15:30)
 

ясно!!! Спасибо! :-)

   
 
 автор: GлюК   (29.01.2006 в 01:16)   письмо автору
 
   для: m@rchello   (16.01.2006 в 16:28)
 

Подскажите,пожалуйста, как именно можно вычитать новые сообщения в div?

   
 
 автор: himic   (29.01.2006 в 11:20)   письмо автору
 
   для: GлюК   (29.01.2006 в 01:16)
 

document.getElementById('ид_дива').innerHTML = document.getElementById('result').innerHTML+'Сообщение';

   
 
 автор: СерегаВЕБ   (30.01.2006 в 12:11)   письмо автору
 
   для: himic   (29.01.2006 в 11:20)
 

Я примерно такой чат уже писал. Работает на подгружаемых ифреймах "без щелчка" и на иннерHTML. Правда только в IE.
Вот последняя версия: http://vision.h16.ru/ но из-за банеров немного тормазится.
Без банеров есть тут: http://torpedo.jino-net.ru/chat.php
Если интересно, могу прислать исходники.

   
 
 автор: GлюК   (30.01.2006 в 15:31)   письмо автору
 
   для: СерегаВЕБ   (30.01.2006 в 12:11)
 

СерегаВЕБ, если не трудно пришли, пожалуйста, сюда gluk__2004@mail.ru. А почему он только под IE работает, в чём причина???

   
 
 автор: СерегаВЕБ   (30.01.2006 в 21:19)   письмо автору
11.1 Кб
 
   для: GлюК   (30.01.2006 в 15:31)
 

Да там функции разбросаны по всем фреймам, поэтому объявляются с top.__(), которое никто кроме IE не признает. Хотел переделать, но чет руки не дошли.

   
 
 автор: GлюК   (31.01.2006 в 16:13)   письмо автору
 
   для: СерегаВЕБ   (30.01.2006 в 21:19)
 

Ну попробую разобраться!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования