13

我想在 5 秒内将用户重定向到 index.php,但它会立即重定向我。我不想在这个简单的代码中使用 jQuery。

<script>            
setTimeout(function(){location.href="index.php", 5000} );           
</script>
4

3 回答 3

39

这是正确的方法...

setTimeout(function(){location.href="index.php"} , 5000);   

您可以在此处查看文档:

https://developer.mozilla.org/en/docs/DOM/window.setTimeout

句法 :

var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]);
var timeoutID = window.setTimeout(code, [delay]);

例子 :

WriteDatePlease();
setTimeout(function(){WriteDatePlease();} , 5000);


function WriteDatePlease(){
    var currentDate = new Date()
    var dateAndTime = "Last Sync: " + currentDate.getDate() + "/"
                + (currentDate.getMonth()+1)  + "/" 
                + currentDate.getFullYear() + " @ "  
                + currentDate.getHours() + ":"  
                + currentDate.getMinutes() + ":" 
                + currentDate.getSeconds();
    $('.result').append("<p>" + dateAndTime + "</p>");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="result"></div>

于 2013-03-27T09:14:31.907 回答
2

这也有效: setTimeout ("window.location='index.php'", 5000);

于 2014-05-14T18:36:47.900 回答
1

我知道这个线程已经解决了,大约 2 年后我遇到了这个问题,我个人只是使​​用了 Joan 的答案中的示例,并对其进行了修改以完全按照我的需要工作,因为 location.href 不会重定向在 iframe 中调用时的 TOP 或父页面。

因此,对于任何想要在 5 秒后但在 iframe 内重定向并重定向 TOP / Parent 页面的方法的人来说,这就是我如何根据 Joan 对原始问题的回答来实现的。

    <script type="text/javascript">
    setTimeout(function(){window.top.location="index.php"} , 5000);
    </script>

如果您想像我个人那样使用 PHP 来调用它,那么您将如何使用 echo 命令在 5 秒后重定向用户。

echo '<script type="text/javascript">setTimeout(function(){window.top.location="index.php"} , 5000);</script>';

希望这可以帮助其他寻找相同解决方案的人。

谢谢

于 2015-09-05T23:52:55.473 回答