web-dev-qa-db-fra.com

JQuery Rediriger vers une URL après une heure spécifiée

Existe-t-il un moyen d'utiliser JQuery pour rediriger vers une URL spécifique après une période donnée?

53
Brian

Vous pouvez utiliser la fonction setTimeout() :

// Your delay in milliseconds
var delay = 1000; 
setTimeout(function(){ window.location = URL; }, delay);
107
Rion Williams

Vous n'avez pas vraiment besoin de jQuery pour cela. Vous pouvez le faire avec du javascript simple en utilisant la méthode setTimeout :

// redirect to google after 5 seconds
window.setTimeout(function() {
    window.location.href = 'http://www.google.com';
}, 5000);
51
Darin Dimitrov
$(document).ready(function() {
    window.setInterval(function() {
    var timeLeft    = $("#timeLeft").html();
        if(eval(timeLeft) == 0) {
                window.location= ("http://www.technicalkeeda.com");
        } else {
            $("#timeLeft").html(eval(timeLeft)- eval(1));
        }
    }, 1000);
});
13
Vicky

Vous pouvez utiliser

    $(document).ready(function(){
      setTimeout(function() {
       window.location.href = "http://test.example.com/;"
      }, 5000);
    });
8
Mandeep Singh

juste utiliser:

setTimeout("window.location.href='yoururl';",4000);

..where le '4000' est m.seconde

5
Attila Nagy

Oui, la solution consiste à utiliser setTimeout , comme ceci:

var delay = 10000;
var url = "https://stackoverflow.com";
var timeoutID = setTimeout(function() {
    window.location.href = url;
}, delay);

notez que le résultat a été stocké dans timeoutID. Si, pour une raison quelconque, vous devez annuler la commande, il vous suffit d'appeler

clearTimeout(timeoutID);
3
Lajos Arpad

J'ai fait une démonstration simple qui demande le nombre de secondes X et redirige pour définir l'URL. Si vous ne voulez pas attendre la fin du décompte, cliquez simplement sur le compteur pour rediriger sans délai. Compteur simple qui décomptera pendant le temps écoulé au milieu de la page. Vous pouvez l'exécuter onclick ou pendant qu'une page est chargée.

LIVE DEMO ONLOAD

LIVE DEMO ONCLICK

J'ai également fait github repo pour ceci: https://github.com/GlupiJas/redirect-counter-plugin

EXEMPLE DE CODE JS:

// FUNCTION CODE
function gjCountAndRedirect(secounds, url)
{

        $('#gj-counter-num').text(secounds);

        $('#gj-counter-box').show();

    var interval = setInterval(function()
    {

        secounds = secounds - 1;

        $('#gj-counter-num').text(secounds);

        if(secounds == 0)
        {

            clearInterval(interval);
            window.location = url;
            $('#gj-counter-box').hide();

        }

    }, 1000);

    $('#gj-counter-box').click(function() //comment it out -if you dont want to allo count skipping
    {
        clearInterval(interval);
        window.location = url;

    });
}

// USE EXAMPLE
$(document).ready(function() {
    //var
    var gjCountAndRedirectStatus = false; //prevent from seting multiple Interval

    //call
    $('h1').click(function(){
        if(gjCountAndRedirectStatus == false)
        {
            gjCountAndRedirect(10, document.URL);
            gjCountAndRedirectStatus = true;
        }
    });

});
2
DevWL