2013-06-17 13 views
50

Muszę przekierować do konkretnego adresu URL po 5 sekundach od wprowadzenia komunikatu o błędzie. Najpierw użyłem Javascript, jak poniżej.Przekierowanie strony po X sekundach czekaj, używając JavaScript

document.ready(window.setTimeout(location.href = "https://www.google.co.in",5000)); 

Ale to nie czeka na 5 sekund. Następnie przeszukałem problem w google, aby dowiedzieć się, że "document.ready()" jest wywoływany, gdy dokument jest ładowany w DOM, a nie w przeglądarce internetowej.

Niż użyłem funkcji window.load() jQuery, ale nadal nie dostaję tego, co chcę.

$(window).load(function() { 
       window.setTimeout(window.location.href = "https://www.google.co.in",5000); 
      }); 

Może ktoś proszę dać mi znać, jak dokładnie trzeba zrobić, aby odczekać 5 sekund.

+0

Dla kompletnego [js przekierowanie] (http://insider.zone/tools/client-side-url-redirect- generator /) –

Odpowiedz

76

Wygląda na to, że już prawie jesteś. Wypróbuj:

if(error == true){ 

    // Your application has indicated there's an error 
    window.setTimeout(function(){ 

     // Move to a new location or you can do something else 
     window.location.href = "https://www.google.co.in"; 

    }, 5000); 

} 
27

rzeczywiście trzeba przekazać funkcję wewnątrz window.setTimeout() którego chcesz wykonać po 5000 milisekund, tak:

$(document).ready(function() { 
    // Handler for .ready() called. 
    window.setTimeout(function() { 
     location.href = "https://www.google.co.in"; 
    }, 5000); 
}); 

o więcej informacji: .setTimeout()

+1

Pokonaj mnie. Przekierowanie nie czeka, ponieważ lokalizacja jest natychmiast przypisywana. Musi to być wywołanie funkcji – Cfreak

6
$(document).ready(function() { 
    window.setTimeout(function(){window.location.href = "https://www.google.co.in"},5000); 
}); 
9

Trzeba zdać funkcja do: setTimeout

$(window).load(function() { 
    window.setTimeout(function() { 
     window.location.href = "https://www.google.co.in"; 
    }, 5000) 
}); 
18

Możesz użyć tej funkcji javascript. Tutaj możesz wyświetlić komunikat przekierowania do użytkownika i przekierowany do podanego adresu URL.

<script type="text/javascript"> 
function Redirect() 
{ 
window.location="http://www.newpage.com"; 
} 
document.write("You will be redirected to a new page in 5 seconds"); 
setTimeout('Redirect()', 5000); 
</script> 
3

Użyj metody JavaScript setInterval(), aby przekierować stronę po określonym czasie. Poniższy skrypt przekieruje stronę po 5 sekundach.

var count = 5; 
setInterval(function(){ 
    count--; 
    document.getElementById('countDown').innerHTML = count; 
    if (count == 0) { 
     window.location = 'https://www.google.com'; 
    } 
},1000); 

przykład scenariusza i Demo napięciem może znaleźć tutaj - Redirect page after delay using JavaScript

Powiązane problemy