JQuery Redirect to URL after specified time

JavascriptJqueryRedirect

Javascript Problem Overview


Is there a way to use JQuery to redirect to a specific URL after a give time period?

Javascript Solutions


Solution 1 - Javascript

You could use the setTimeout() function:

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

Solution 2 - Javascript

You don't really need jQuery for this. You could do it with plain javascript using the setTimeout method:

// redirect to google after 5 seconds
window.setTimeout(function() {
    window.location.href = 'http://www.google.com';
}, 5000);

Solution 3 - Javascript

$(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);
});

Solution 4 - Javascript

You can use

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

Solution 5 - Javascript

just use:

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

..where the '4000' is m.second

Solution 6 - Javascript

Yes, the solution is to use setTimeout, like this:

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

note that the result was stored into timeoutID. If, for whatever reason you need to cancel the order, you just need to call

clearTimeout(timeoutID);

Solution 7 - Javascript

I have made a simple demo that prompts for X number of seconds and redirects to set url. If you don't want to wait until the end of the count, just click on the counter to redirect with no time. Simple counter that will count down while pulsing time in the midle of the page. You can run it onclick or while some page is loaded.

LIVE DEMO ONLOAD

LIVE DEMO ONCLICK

I also made github repo for this: https://github.com/GlupiJas/redirect-counter-plugin

JS CODE EXAMPLE:

// 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;
		}
	});
	
});

Solution 8 - Javascript

Use setTimeout function with either of the following

// simulates similar behavior as an HTTP redirect
window.location.replace("http://www.google.com");

// simulates similar behavior as clicking on a link
window.location.href = "http://www.google.com";

setTimeout(function(){
   window.location.replace("http://www.google.com");
}, 1000) 

source: https://www.sitepoint.com/jquery-redirect-web-page/

Solution 9 - Javascript

This is improved @Vicky solution - it has clearInterval() added so it prevents a loop of reloading if the redirect takes too long:

                            $(document).ready(function () {
                                var myTimer = window.setInterval(function () {
                                    var timeLeft = $("#countdown").html();
                                    if (eval(timeLeft) == 0) {
                                        console.log('Now redirecting');
                                        clearInterval(myTimer);
                                        window.location = ("@Html.Raw(HttpUtility.HtmlDecode(redirectUrl))");
                                    } else {
                                        $("#countdown").html(eval(timeLeft) - eval(1));
                                    }
                                }, 1000);
                            });

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBrianView Question on Stackoverflow
Solution 1 - JavascriptRion WilliamsView Answer on Stackoverflow
Solution 2 - JavascriptDarin DimitrovView Answer on Stackoverflow
Solution 3 - JavascriptVickyView Answer on Stackoverflow
Solution 4 - JavascriptMandeep SinghView Answer on Stackoverflow
Solution 5 - JavascriptAttila NagyView Answer on Stackoverflow
Solution 6 - JavascriptLajos ArpadView Answer on Stackoverflow
Solution 7 - JavascriptDevWLView Answer on Stackoverflow
Solution 8 - JavascripthydraView Answer on Stackoverflow
Solution 9 - JavascriptnickornottoView Answer on Stackoverflow