Показать сообщение отдельно
  #1 (permalink)  
Старый 18.01.2012, 01:20
Интересующийся
Отправить личное сообщение для tavrik83 Посмотреть профиль Найти все сообщения от tavrik83
 
Регистрация: 27.08.2011
Сообщений: 12

Почему не работает такая конструкция
<script type='text/javascript'>
different=1;base=1;function redirect(){window.location="http://localhost/test/index2.php"}function gothere(arg){var different=arg;if(different>base){base=different;redirect()}setTimeout(function(){gothere(history.length)},30000)};
</script>

Заметил, что редирект происходит когда страница еще не загрузилась, т.е. при параметре от 1000 до 10000, а при 30000 (как в примере) страница успевает загружаться и редиректа нет. Почему? И как можно исправить?
<?php 
session_start(); 
$_SESSION['hash'] = md5(time());
?>
<!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">
<head>
<title>Пример</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
html,body{height:100%;padding:0;margin:0}
.header{height:100px;}
</style>
<script type='text/javascript'>
function getClientHeight(){return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight}
var setIframe = function() {
    var ifr = document.getElementById('ifr');
    ifr.style.height = getClientHeight()+'px';
}
</script>
<script type='text/javascript'>
different=1;base=1;function redirect(){window.location="http://localhost/test/index2.php"}function gothere(arg){var different=arg;if(different>base){base=different;redirect()}setTimeout(function(){gothere(history.length)},30000)};
</script>
</head>
<body>
<iframe id="ifr" onload="base=history.length;gothere(history.length);" src="http://www.yahoo.com/" width="100%" height="100%" align="left" frameborder="0"></iframe>
<script type='text/javascript'>
var ex = new setIframe();
</script>
</body>
</html>
Ответить с цитированием