重定向脚本



当前,我在x秒后将用户重定向到另一个页面,但是我想做的是,y秒后重定向用户,并且计时器仅在用户单击链接后才启动我的页面,目前仅在用户访问我的页面之后才开始。

这是我发现的Google搜索的代码 -


<head>
<script>
function js_wait()
{
setTimeout (js_go(), 3000); // 3000 ms = 3 secs
}
function js_go()
{
window.location = "mynexpage.php";
}
</script>
</head>
<body>
<a href="" onclick="js_wait(); return false;">My link</a>
</body>
  • 身体显示链接
  • 单击时,它称为JavaScript函数" JS_WAIT"
  • JS_WAIT启动计时器X秒,然后调用JS_GO
  • js_go重定向到页面。

我能够重定向onclick,但在单击链接后立即重定向,但我希望它等待y秒钟,然后重定向。

不要激活该方法而不是通过这样的函数签名:

<head>
<script>
function js_wait()
{
setTimeout (js_go, 3000); // 3000 ms = 3 secs
}
function js_go()
{
window.location = "mynexpage.php";
}
</script>
</head>
<body>
<a href="" onclick="js_wait(); return false;">My link</a>
</body>

从settimeout函数参数中删除 ()

setTimeout (js_go, 3000); // 3000 ms = 3 secs

如果您在那里,则表示您传递函数调用的结果,而不是函数参考。


作为背景信息,可以以两种不同的方式使用settimeout:要么将其传递给函数引用,例如您所做的工作,要么传递字符串,该字符串将通过时间stetimeout Fires进行评估。这意味着,如果您想将一些参数传递到SetTieMout,则将它们作为字符串(例如setTimeout('js_go("http://google.fi")', 3000))传递,或将它们包装到函数,这是首选的方式(setTimeout(function() {js_go("http://google.fi")}, 3000))。

但是,由于您在此处不使用参数,因此您应该只通过上面的代码块中所示的函数参考。

尝试一下,请更简单:工作demo http://jsfiddle.net/fe4ct/

重定向这是关键: window.parent.location

休息我希望它适合您的需求:)

代码

function js_wait() {
    setTimeout(function() {
        window.parent.location = "http://www.google.com";
    }, 3000);
}​

样本

 window.setTimeout(function() {
        window.location.href = 'http://www.google.com';
    }, 3000);

即。在您的具体情况下:

  window.setTimeout(function() {
            window.location = 'mynexpage.php';
        }, 3000);

简单地写为:

    function js_wait_redirect() {
      setTimeout(
           function(){
              window.location = "mynexpage.php";
           }
           , 3000); // 3000 ms = 3 secs
    }

最新更新