Страница 1 из 11
Модератор форума: JonMagon 
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Скрипт автоматического обновления мини-чата (Автоматическое обновление чата после добавления сообщения)
Скрипт автоматического обновления мини-чата
Funny_007
Сообщений: 50
Репутация: 0

Сообщение # 1 | 12:50:59
Всем доброго времени суток!

Нашел скрипт автоматического обновления мини-чата при добавлении сообщения.
JavaScript я не знаю, поэтому прошу вас посмотреть код и написать, будет ли скрипт грузить сайт / сервер частыми get-запросами или нет.
У меня есть подозрения, что скрипт отправляет запрос серверу чуть ли не каждую миллисекунду, а как известно за это могут приостановить работу сайта.

Кидаю инструкцию по установке скрипта. Если скрипт не терроризирует сервер запросами и все хорошо, то я думаю он многим пригодится.
Код
<div class="cMessage" style="text-align:left;">$MESSAGE$</div>
Заменить на:
Код
<div class="cMessage" style="text-align:left;" id="msg$NUMBER$">$MESSAGE$</div>

$CHAT_BOX$
Заменить на:
Собственно сам скрипт:
Код
<div id="msg1" style="display:none"></div>  
<div id="msg2" style="display:none"></div>  
      $CHAT_BOX$  
<script>  
      function check() {  
      $("#msg2").load("/mchat #msg1");  
      setTimeout('if($("#msg2").html()!=$("#msg1").html())'  
      +'{document.getElementById("mchatIfm2").src="/mchat/?"+Math.random();'  
      +'$("#msg1").html($("#msg2").html());}',200);}  

      $("#msg1").load("/mchat #msg1");  
      $("#msg2").load("/mchat #msg1");  
      setInterval('check()',350);  
</script>
Сообщение отредактировал Funny_007 - Понедельник, 06 Июн 2016, 12:59:23
Rostislav
Сообщений: 2385
Репутация: 591

Сообщение # 2 | 11:51:00
Funny_007, а как вы хотите реализовать автообновление сообщений в чате без отправки запроса на сервер?

Код
setInterval('check()',350);


отправка запроса происходит каждые 350 милисекунд. Можно установить интервал 1000 (1 секунда)

mrx
Сообщений: 267
Репутация: 43

Сообщение # 3 | 17:27:28
Использую такой же скрипт, интервал 1 секунда. Работает только для привилегированных групп пользователей (у всех остальных интервал 12 секунд), при низком разрешении экрана (мобильная версия) скрипт полностью отключается. Поставил в качестве эксперимента, но опыт показал, что даже 1-секундный интервал это слишком быстро. Можно ставить 5 - 10 секунд. Для живого общения этого вполне хватает.
Funny_007
Сообщений: 50
Репутация: 0

Сообщение # 4 | 22:59:34
Rostislav, Здравствуйте!
Так все-таки большая ли будет нагрузка на сервер и не приостановят ли работу сайта, если запросы так и будут отправляться каждые 350 миллисекунд? (Допустим при активном общении 40-ка пользователей в чате)
webanet
Личный менеджер
Сообщений: 22612
Репутация: 4838

Сообщение # 5 | 23:09:07

ТУТ можно оставить своё мнение по любому вопросу
http://webanetlabs.net/
zarim
Сообщений: 381
Репутация: 66

Сообщение # 6 | 11:30:24
Скрипт отличный и мои чатовцы его уже оценили, пользоваться чатом стало намного приятнее, теперь это уже настоящий чат))

Однако вопрос остаётся: если в чате немного людей (не более 10 одновременно), частота обновления - 2 секунды, сервер выдержит?
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Скрипт автоматического обновления мини-чата (Автоматическое обновление чата после добавления сообщения)
Страница 1 из 11
Поиск: