Скрипт автообновления мини-чата

Голоса: +1

Хотелось бы, чтобы миничат обновлялся в автоматическом режиме, с помощью какого кода это лучше реализовать?

Первый вариант:

<script type="text/javascript">setTimeout("window.location.reload()",10000)</script>  - получается вся страница будет обновляться, а это накрутка хитов и не очень хорошо для сайта

Второй вариант:

Нашел вот такой скрипт, но тут есть лишнее:

<script>  
  var upd=''  
  var chat = {  
  updater: function (status) {  
  upd=setInterval(function(){$('body',document.getElementById('mchatIfm2').contentDocument).load('/mchat');$('#updstatus').fadeIn('slow');setTimeout(function(){$('#updstatus').fadeOut('fast');},2500);},22000)  
  },  
  mestome: function () {  
  var mch=document.getElementById('mchatIfm2').contentDocument;  
  var cm=$('.cMessage',mch).attr('style')  
  if(cm.indexOf('0.1;')!=-1){$('.cMessage',mch).fadeTo('fast',1);chat.updater();chat.renew();}  
  else{$('.cMessage',mch).fadeTo('fast',0.1);$('.cMessage:contains("$USERNAME$")',mch).fadeTo('fast',1);clearInterval (upd);}  
  },  
  renew: function () {  
  $('body',document.getElementById('mchatIfm2').contentDocument).load('/mchat');$('#updstatus').fadeIn('fast');setTimeout(function(){$('#updstatus').fadeOut('fast')},2500)  
  }  
  }  
  chat.updater()  
  </script>

И я обрезал до такого, чтобы оставить лишь обновление чата:

<script>  
  var upd=''  
  var chat = {  
  updater: function (status) {  
  upd=setInterval(function(){$('body',document.getElementById('mchatIfm2').contentDocument).load('/mchat');setTimeout(function(){$('#updstatus').fadeOut('fast');},2500);},10000)  
  },  
  mestome: function () {  
  var mch=document.getElementById('mchatIfm2').contentDocument;  
  },  
  }  
  chat.updater()  
  </script>

Третий вариант:

script> 
      setInterval(function() { 
document.getElementById('mchatIfm2').src='/mchat/?'+Math.random(); 
}, 1000); 

</scrip

 

Какой вариант лучше? Нужно лишь чтобы сам чат обновлялся, т.е айфрейм, без обновления мини-чата. Я склонен ко второму варианту, но есть подозрение, что не все лишнее вырезал

| Автор: | Категория: JavaScript
Ну есть же стандартная функция автообновления, зачем выдумывать велосипед?
Там иначе обновляется мини-чат
Как иначе? Там обновляется именно окошко чата, раз в заданное количество времени.
У меня при обновлении мини-чата так же прогружалась и страница, в хроме это заметно по крутящейся фавикон и подлагивющим чатом во время обновления
Стандартное автообновление чата не перезагружает страницу. Фавикон при этом может "крутиться" - это не значит, что перезагружается страница.

Ответов: 1

голоса: +3
 
Лучший ответ
<script type="text/javascript">
jQuery(document).ready(function(){
setInterval("jQuery('#timeA').load('# span#timeB');",15000); // В данном случае автообновление равно 15 секундам. Выставляется значение в миллисекундах. 1 секунда = 1000 миллисекундам (советую выставить 30 сек)
});
</script>
<span id="timeA"><span id="timeB"> $CHAT_BOX$ </span></span>
| Автор:
Выбор ответа лучшим | | Автор: Yuri_Geruk
Попробовал - не работает. Не обновляется мини-чат
а у меня работает
...