Кто-нибудь думает о Shoutbox?

Я хочу создать ящик для криков, хотя мне интересно, есть ли другой способ сделать это, а не использовать setInterval для запроса к базе данных новых криков каждые несколько секунд. Честно говоря, мне не нравится, когда приходится идти по этому пути. Кажется немного избыточным, повторяющимся и просто старым неправильным. Не говоря уже о мигании криков при захвате данных.

Вот мне интересно, как это делают профессионалы? Я имею в виду, что я видел ящики для сообщений, которые работают превосходно и, похоже, не используют для этого какие-либо функции javascript setInterval или setTimeout.

Может ли кто-нибудь предложить какие-либо идеи или подход к этому, который не использует setInterval или setTimeout ??

Спасибо :)


person SoLoGHoST    schedule 28.04.2010    source источник


Ответы (3)


Используйте javascript для обновления чата по мере того, как люди пишут сообщения, не перезагружая всю страницу. В качестве примера взгляните на код этого окна сообщений. (Ссылка для скачивания находится справа.) Есть много других примеров чатов, которые используют Javascript для беспрепятственного извлечения новых «криков» из базы данных по всему Интернету. Многие из них легко настраиваются, поэтому вы можете изменить CSS, чтобы получить любой стиль, который вы хотите.

Вот еще несколько примеров таких скриптов:
http://www.ajaxdaddy.com/demo-jquery-shoutbox.html
http://www.truefusion.org/TFsBOX/ (Код находится здесь: http://code.google.com/p/tfsbox/ )

person Oren Hizkiya    schedule 28.04.2010
comment
Спасибо, сейчас рассматриваю один из этих вариантов. Благодарю. - person SoLoGHoST; 28.04.2010

Может быть, вы можете использовать COMET?

HTML5 позволит иметь веб-сокеты с javascript, что сделает его еще лучше, но я бы не стал используйте для этого HTML 5, пока все больше людей не перейдут на браузеры, которые его поддерживают.

person Francisco Soto    schedule 28.04.2010

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

person YOU    schedule 28.04.2010
comment
Да, но мне нужно, чтобы пользователи могли видеть крики по мере их появления, но только по мере их появления, а не каждые несколько секунд... - person SoLoGHoST; 28.04.2010