一定期間後にJQueryを使用して特定のURLにリダイレクトする方法はありますか?
setTimeout()
関数を使用できます:
// Your delay in milliseconds
var delay = 1000;
setTimeout(function(){ window.location = URL; }, delay);
これにはjQueryは本当に必要ありません。 setTimeout メソッドを使用してプレーンJavaScriptで実行できます。
// redirect to google after 5 seconds
window.setTimeout(function() {
window.location.href = 'http://www.google.com';
}, 5000);
$(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);
});
使用できます
$(document).ready(function(){
setTimeout(function() {
window.location.href = "http://test.example.com/;"
}, 5000);
});
ただ使用する:
setTimeout("window.location.href='yoururl';",4000);
..「4000」はm.secondです
はい、解決策は setTimeout を次のように使用することです:
var delay = 10000;
var url = "https://stackoverflow.com";
var timeoutID = setTimeout(function() {
window.location.href = url;
}, delay);
結果がtimeoutID
に保存されたことに注意してください。何らかの理由で注文をキャンセルする必要がある場合は、電話するだけです
clearTimeout(timeoutID);
X秒のプロンプトを出し、リダイレクトしてURLを設定する簡単なデモを作成しました。カウントが終了するまで待てない場合は、カウンターをクリックしてすぐにリダイレクトします。ページの中央で時間をパルスしながらカウントダウンするシンプルなカウンター。 onclickまたはいくつかのページがロードされている間に実行できます。
また、このためにgithubリポジトリを作成しました: https://github.com/GlupiJas/redirect-counter-plugin
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;
}
});
});