2013-03-27 11 views
7

Chcę przekierować użytkownika do index.php w 5 sekund, ale przekierowuje mnie od razu. Nie chcę używać jQuery w tym prostym kodzie.setTimeout i window.location (location.href) nie działa

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

Move ',' 5000' po} '... –

+2

@RobW - To brzmi jak odpowiedź! – adeneo

+0

Jezu, to było głupie ode mnie @Rob W napisać to jako odpowiedź na moje pytanie, więc mogę oznaczyć to jako rozwiązanie – FosAvance

Odpowiedz

23

To jest właściwa droga ...

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

Można sprawdzić docs tutaj:

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

Składnia:

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

przykład:

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

działa również: setTimeout ("window.location = 'index.php'", 5000);

1

Wiem, że ten wątek został już rozwiązany, a jego nieco 2 lata później, że doszedłem do tego, ja osobiście po prostu użyłem przykładu z odpowiedzi Joan i zmodyfikowałem go tak, aby działał dokładnie tak, jak potrzebuję go jako location.href nie przekieruje strony TOP lub nadrzędnej po wywołaniu w elemencie iframe.

Tak więc dla każdego, kto szuka sposobu przekierowania po 5 sekundach, ale w obrębie elementu iframe i przekierowania strony TOP/Parent, tutaj jest to, w jaki sposób osiągnąłem to w oparciu o odpowiedź Joanny na Pierwotne Pytanie.

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

A jeśli chciał nazwać to za pomocą PHP jako ja osobiście nie zrobić tutaj jest jak można użyć polecenia echo przekierować użytkownika po 5 sekundach.

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

Mam nadzieję, że pomoże to każdemu, kto szuka tego samego rozwiązania.

Dzięki