X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Ajax окно чата
Scream_mw
Scream_mw
Topic Starter сообщение 5.5.2010, 15:36; Ответить: Scream_mw
Сообщение #1


Как на ajax можно реализовать такое, чтоб когда в таблице бд появляется новая запись - чтоб эта запись выводилась как в окне чата.
На пример "Быстрые сообщения" вконтакте. Приходит сообщение - оно появляется под остальными сообщениями.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 5.5.2010, 16:08; Ответить: gaaarfild
Сообщение #2


А там должен, я так думаю, таймер стоять, который через определенное время просто обновляет блок или фрейм. В контакте они тоже приходят не мгновенно. Все зависит от периода обновления.
Я прав? Или поправьте меня.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
reaboom
reaboom
сообщение 5.5.2010, 19:12; Ответить: reaboom
Сообщение #3


Прав :(
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Scream_mw
Scream_mw
Topic Starter сообщение 5.5.2010, 21:59; Ответить: Scream_mw
Сообщение #4


Прав, но как это реализовать через JS не использую iframe?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 8.5.2010, 21:41; Ответить: ZiTosS
Сообщение #5


Scream, Ajax + XML или JSON

1) Ставим запуск функции каждые 30 секунд, можно на основе setInterval()
2) Функция делает запрос на поиск новых сообщений, в качестве параметра она должна передавать на сервер id последнего сообщения которое отображено на странице
3) Получаем ответ от сервера в строго-структурированном формате, либо XML, либо JSON, либо любой другой, который понимает JS.
4) Разбираем ответ посредством JS, он умеет работать с XML и другими форматами. Не забываем из полученных данных занести в глобальную переменную или куда ещё значение id последнего сообщения. Нужно дял последующих сообщений.
4) Добавление сообщения реализуется на DOM-модели или юзаем фреймверки.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Scream_mw
Scream_mw
Topic Starter сообщение 9.5.2010, 8:50; Ответить: Scream_mw
Сообщение #6


ZiTosS, единственная проблема которая меня все это время загоняла в тупик - как у новых сообщений которые мы читаем сменить статус на "прочитано"?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 9.5.2010, 18:04; Ответить: ZiTosS
Сообщение #7


Scream, не очень понял о чем ты. Но я же тебе сказал, что мы всегда будем знать о последнем сообщении, которое мы прочитали за последнее обращение к серверу. Поэтому мы будем знать, что прочитал текущий пользователь, а что ещё нет. Так как JS работает на стороне Клиента, у каждого пользователя последнее прочитанное сообщение будет иметь свой ID и обновляться окно чата будет у каждого в свой отмеченный момент времени.
Не понимаю, с чем у тебя проблема?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
REiCh
REiCh
сообщение 1.6.2010, 13:59; Ответить: REiCh
Сообщение #8


Scream, Ajax + XML или JSON


Это работает неправельно :) ;) Оно появляется и исчезает ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 2.6.2010, 9:49; Ответить: gaaarfild
Сообщение #9


В чате нет понятия "Прочитанные сообщения".
Используй фреймворки. Например в jQuery удобно использовать appendTo. Чтобы добавлять новые строки. А проверять надо не раз в 30 секунд, а раз в 3 секунды через AJAX. И лучше использовать ля передачи JSON. Он быстрее работает.

Схема примерно такая.
Сообщения при отправлении записываются в Базу данных.
В сессии необходимо записывать ID последнего пришедшего сообщения.
AJAX проверяет базу данных. Если есть сообщения после ID, который в сессии, то добавляет с помощью appendTo или appendChild к уже существующим сообщениям строчки.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44767 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Простой скрипт чата
1 tef 3054 7.3.2019, 22:09
автор: pashal
Открытая тема (нет новых ответов) Ищу специалиста Wordpress/PHP/JS/AJAX
5 by_roXe 4287 4.11.2018, 17:09
автор: kikimora17
Открытая тема (нет новых ответов) Сообщений: 72 [В закладки] [Окно ответа] #1 Senior Frontend Developer, М/МО
0 itincorp 1776 18.4.2018, 14:40
автор: -itincorp-
Открытая тема (нет новых ответов) Нужно поправить всплывающее окно с input на WP
0 eduarddis 2387 10.9.2017, 13:32
автор: eduarddis


 



RSS Текстовая версия Сейчас: 29.3.2024, 11:37
Дизайн