2013-03-27 4 views
7

Я хочу перенаправить пользователя в index.php за 5 секунд, но он перенаправляет меня сразу. Я не хочу использовать jQuery в этом простом коде.setTimeout и window.location (location.href) не работает

<script>    
setTimeout(function(){location.href="index.php", 5000});   
</script> 
+9

Move ', 5000' после'} '... –

+2

@RobW - Это звучит как ответ! – adeneo

+0

Иисус это было глупо от меня @Rob W пишут это как ответ на мой вопрос, поэтому я могу отметить его как решение – FosAvance

ответ

23

Это правильный путь ...

setTimeout(function(){location.href="index.php"} , 5000); 

Вы можете проверить документы здесь:

https://developer.mozilla.org/en/docs/DOM/window.setTimeout

Синтаксис:

var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]); 
var timeoutID = window.setTimeout(code, [delay]); 

Пример:

WriteDatePlease(); 
 
setTimeout(function(){WriteDatePlease();} , 5000); 
 

 

 
function WriteDatePlease(){ 
 
    var currentDate = new Date() 
 
    var dateAndTime = "Last Sync: " + currentDate.getDate() + "/" 
 
       + (currentDate.getMonth()+1) + "/" 
 
       + currentDate.getFullYear() + " @ " 
 
       + currentDate.getHours() + ":" 
 
       + currentDate.getMinutes() + ":" 
 
       + currentDate.getSeconds(); 
 
    $('.result').append("<p>" + dateAndTime + "</p>"); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="result"></div>

2

Это также работает: SetTimeout ("window.location = 'index.php'", 5000);

1

Я знаю, что эта тема уже решена, а через несколько лет я пришел через это, я лично просто использовал пример из ответа Джоан и модифицировал его, чтобы работать именно так, как мне это нужно, как location.href не будет перенаправлять страницу TOP или родителя при вызове внутри iframe.

Итак, для тех, кто ищет способ перенаправления через 5 секунд, но в пределах iframe и перенаправлять страницу TOP/Parent, вот как я достиг этого, основываясь на ответе Джоан на исходный вопрос.

<script type="text/javascript"> 
    setTimeout(function(){window.top.location="index.php"} , 5000); 
    </script> 

И если вы хотите назвать это с помощью PHP, как я лично делал здесь, как вы будете использовать эхо команды для перенаправления пользователя через 5 секунд.

echo '<script type="text/javascript">setTimeout(function(){window.top.location="index.php"} , 5000);</script>'; 

Надеюсь, это поможет кому-то еще найти то же самое решение.

Благодаря

Смежные вопросы