Хотелось бы, чтобы миничат обновлялся в автоматическом режиме, с помощью какого кода это лучше реализовать?
Первый вариант:
<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
Какой вариант лучше? Нужно лишь чтобы сам чат обновлялся, т.е айфрейм, без обновления мини-чата. Я склонен ко второму варианту, но есть подозрение, что не все лишнее вырезал