尝试使用jquery将页面重定向到另一个域。我注意到,如果我尝试使用其他网址重定向,但不会重定向到我想要重定向到的特定网址。还注意到,如果我在倒计时到零之前单击它,但在倒计时为零时不起作用,则链接有效。这是我的html和jquery代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Redirect Site</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
var delay = 10 ;
var url = "http://www.wordoflifedubuque.org";
function countdown() {
setTimeout(countdown, 1000) ;
$('#countmesg').html("Redirecting in " + delay + " seconds.");
delay --;
if (delay < 0 ) {
window.location = url ;
delay = 0 ;
}
} countdown() ;
});
</script>
<style>
#countmesg{
font-size: 2em;
text-align: center;
font-weight: bold;
}
.header{background-color: black;}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-sm-12 header">
<img src="logo.png" class="res">
</div>
</div>
<div class="row">
<div class="col-sm-12">
<h3>This website has moved, click the link <a href="http://www.wordoflifedubuque.org">http://wordoflifedubuque.org</a> to go to the new site or be redirected automatically.</h3>
<div id="countmesg"></div>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
如果您遵循工作流程,它确实可以正常工作。问题是它不会停止工作。一旦它达到低于0的数字,它就会继续循环,因此超时永远不会停止。这可能会导致问题,因此请在重定向时尝试取消超时:
$(document).ready(function() {
var delay = 10 ;
var url = "http://www.wordoflifedubuque.org";
var timer=null
function countdown() {
timer = setTimeout(countdown, 1000) ;
$('#countmesg').html("Redirecting in " + delay + " seconds.");
delay --;
if (delay < 0 ) {
clearTimeout(timer);
window.location = url ;
delay = 0 ;
}
}
countdown() ;
});
答案 1 :(得分:1)
在您检查countdown
尝试检查之后,在事件循环上加载对delay
的另一个调用之后,您将在10秒后继续循环。该网站也没有“www”
function countdown() {
$('#countmesg').html("Redirecting in " + delay + " seconds.");
delay --;
if (delay < 0 ) {
window.location = url ;
delay = 0 ;
return; // don't wait again
}
setTimeout(countdown, 1000) ;
} countdown() ;