Сообщение от Matre
|
#3
(function () {
var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTPP"),
callee = arguments.callee;
request.open("GET", location.href + "?rand=" + new Date(), true);
request.onreadystatechange = function () {
if (request.readyState === 4 && request.status === 200) {
var doc = document.createElement("DIV");
doc.innerHTML = request.responseText;
document.body.innerHTML = doc.getElementsByTagName("BODY")[0].innerHTML;
setTimeout(callee, 10000);
}
};
request.send(null);
})();
Ставить в HEAD.
10000 — интервал обновления страницы в миллисекундах.
|
Что то не хочет работать данный скрипт.
У меня вообщем вот какая ситуация, имеется вот такой
Таскающейся Div c мини-чатом:
<html >
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" class="win chrome chrome9 webkit webkit5">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link type="text/css" rel="StyleSheet" href="http://ant1bot.ucoz.ru/_st/my.css" />
<link type="text/css" rel="StyleSheet" href="http://ant1bot.ucoz.ru/css/str.css"/>
<link type="text/css" rel="StyleSheet" href="http://ant1bot.ucoz.ru/css/table.css"/>
<link type="text/css" rel="StyleSheet" href="http://ant1bot.ucoz.ru/css/jquery-ui-1.8.10.custom.css" />
<title>Турнирный Клуб ANTIBOT</title>
<?$META_DESCRIPTION$?>
</head>
<body style="margin:0px;padding:0px;">
<script type="text/javascript" src="http://ant1bot.ucoz.ru/js/jquery-ui-1.8.10.custom.min.js"></script>
<script type="text/javascript" src="http://ant1bot.ucoz.ru/js/spisok.js"></script>
<script type="text/javascript" language="javascript">
$(function(){
$("#drag").draggable({handle:'#top',stack:"#drag"});
$(".resize").resizable({alsoResize:".res, .incon2"});
});
</script>
<script type="text/javascript" language="javascript">
window.onload = function () {
document.onkeydown = function (e) {
e = e || window.event;
var k = e.keyCode,
elem = document.getElementById('console');
if (k == 192) elem.style.display = (elem.style.display == 'none' ? 'block' : 'none');
}
}
</script>
<div id="console" style="display:block;"> <!--ID отвечает за открытие и скрытие блока,Блок при рефреше видимый-->
<div id="drag" class="resize" style="position:absolute;min-height:200px; min-width:290px;"><!--Переменнаю отвечает за драг и дроп функцию-->
<div id="top" class="res" style="width: 100%;min-height:35px;max-height:35;">
<div id="header" class="res" style="width: 614px; height: 35px;margin:0 0 0 0;min-height:35px;max-height:35;min-width:290px;">
<table style="min-height:32px;max-height:32px;height:32px;width:615;min-width:290px;margin:-26 0 0 0">
<tr style="min-height:32px;max-height:32px;">
<td style="width:600;min-width:255px;min-height:32px;max-height:32px;">
<div class="lable" style="background:url('http://ant1bot.ucoz.ru/img/label.png') no-repeat; border:none;width:40;heght:20;margin:5 0 0 5">
<div id="q" class="res" style="width:40;height:20;border:none;min-height:20px;max-height:20px;min-width:40px;max-width:40px"></div></div>
</td>
<div id="buttonClose2" class="buttonClose2" style="margin:0 0 0 0;">
<a href="javascript://"onClick="document.getElementById('console').style.display = 'none'"><input type="button" value=""></a>
</div>
</tr>
</table>
<div id="bg" class="res" style="width: 599px;border-bottom:solid 1px #32392c;margin:3 0 0 7;min-height:0;max-height:0; min-width:275px">
</div>
</div>
</div>
<div id="bord" class="res" style="width: 614px;height: 347px; min-height:170px; min-width:290px;">
<div class="incon2" id="tab1" style="width: 588px; height: 275px; display: block; margin:5 0 0 7; min-height:98px; min-width:264px;">
<iframe name="iframe1" id="mchatIfm2" style="width:100%;height:100%;" frameborder="0" scrolling="no" hspace="0" vspace="0" allowtransparency="true" src="http://ant1bot.ucoz.ru/mchat/"></iframe>
<script type="text/javascript">
function sbtFrmMC991(f){$('#mchatBtn').css({display:'none'});$('#mchatAjax').css({display:''});_uPostForm('MCaddFrm',{type:'POST',url:'/mchat/?75954141.1628213'});}
function countMessLength(){var rst = 200-$('#mchatMsgF').val().length;if (rst<0){rst=0;$('#mchatMsgF').val($('#mchatMsgF').val().substr(0,200));}$('#jeuwu28').html(rst);}
var tID7174=-1;var tAct7174=false;
function setT7174(s){var v=parseInt(s.options[s.selectedIndex].value);document.cookie="mcrtd="+s.selectedIndex+"; path=/";if(tAct7174){clearInterval(tID7174);tAct7174=false;}if(v>0){tID7174=setInterval("document.getElementById('mchatIfm2').src='/mchat/?'+Math.random();",v*1000);tAct7174=true;}}
function initSel7174() {var res=document.cookie.match(/(\W¦^)mcrtd=([0-9]+)/);if(res){s=$("#mchatRSel")[0];;s.selectedIndex=parseInt(res[2]);setT7174(s);}$("#mchatMsgF").bind("keydown",function(e){if(e.keyCode==13 && e.ctrlKey && !e.shiftKey){e.preventDefault();sbtFrmMC991();}})}
</script>
</div>
<span style="font-size:6px;padding:0;margin:0 0 0 6;"><b id="jeuwu28">200</b></span>
<?if($USER_LOGGED_IN$)?>
<table>
<td> <div id="chat" class="res" style="width: 506px; height: 23px; display: block; margin:-5 0 0 4; min-height:23px;min-width:172;max-height:23px;"overflow="none">
<form style="overflow:none;" id="MCaddFrm" onsubmit="return false;">
<table>
<td colspan="2" style="padding-right:7px;"><input name="mcmessage" class="mchat" id="mchatMsgF" onkeyup="countMessLength();" onfocus="countMessLength();" onKeyPress="if((event.keyCode==13))sbtFrmMC991();" style="background:#3e4637;height:30px;width:2000;resize:none;border:none;outline:none;font-size:10pt;color:#dee3d8;margin:-7 0 0 0;" autocomplete="off"></input></td>
</table>
</div></td>
<td> <div id="buttons" class="buttons" style="margin:-11 0 0 2;">
<div><input type="button" onClick="sbtFrmMC991(), iframe.reload()" value="Отправить" class="mchat" id="mchatBtn"><span id="mchatAjax" style="display:none;background: url('upload.gif') no-repeat 5px;padding-left:24px;color:#666;"></span></div>
<input type="hidden" name="numa" id="numa832" value="0"><input type="hidden" name="a" value="18"><input type="hidden" id="ajaxFlag" name="ajax" value="1" />
</form> </td>
</div>
</table>
<table>
<td>
<a href="javascript://" rel="nofollow" onclick="window.open('/mchat/0-1','mchatCtrl','scrollbars=1,width=550,height=550,left=0,top=0');return false;"><div id="buttons" class="buttons"><input type="submit" value="Управлене сообщениями" style="font-size:8pt;margin:-12 0 0 4;padding:3;background:url('') no-repeat;background-position:center;"></div></a>
<td>
<a href="javascript://" rel="nofollow" onclick="new _uWnd('Sml',' ',-250,-350,{autosize:0,closeonesc:1,resize:0},{url:'/index/35-23-2'});return false;"><div id="buttons" class="buttons"><input type="submit" value="Добавить смайл" style="font-size:8pt;margin:-12 0 0 4;padding:3;background:url('') no-repeat;background-position:center;"></div></a>
</td>
</table>
<div id="windowResize" style="float:right;margin:-12 0 0 0;"></div>
<?else?>
</div>
</div>
</div>
<img src ="http://ant1bot.ucoz.ru/background.jpg" width="100%" height="110%" style="z-index:-1; position:fixed" margin="0" padding="0" top="0" left="0">
</body>
окно вывода сообщений в Миничате имеет отдельный шаблон страницы и вставлен в родительскую через iframe с name="iframe1", так вот мне надо что бы информация в данном iframe автоматически обновлялась через определенный промежуток времени, и что бы побочек, при рефреше(типа "белый экран") не было т.е. юзер не замечал перезагрузки, я пробовал просто windows.location.reload, но это выглядит ужастно. Так вот как лучше реализовать , обновлять Iframe в родительском окне, или в самом шаблоне вида отправляемых сообщений, делать обновление страницы, или может как нибудь можно обновить данные без перезагрузки страницы(вообще было бы идеально).
Кстате скрипт предложенный в посте выше, я ставил в страницу которая выводиться при помощи iframe.и не хочет она обнавлятся.