尝试多次使用超时功能

时间:2017-01-20 08:30:19

标签: javascript html

我试图多次使用Timeout函数,但它只运行一次。我试图在6秒后获得第二个URL。

3秒后的第一个,这是正常的。也试过if else声明但没有效果。

nemas = {'PERSON' : , 'ORGANIZATION': , 'LOCATION': }

3 个答案:

答案 0 :(得分:9)

JavaScript(在此上下文中)在网页内运行。

当您离开页面时,会破坏运行JavaScript的环境。

导航到其他页面后,您无法运行三个(或任何其他数量)的JavaScript函数。

答案 1 :(得分:0)

正如@Quentin所提到的,你无法使用现有的代码。

正如您在评论中所要求的那样,请尝试使用IFRAME

<!doctype html>
<html>
<body>
    <p>You will be redirected in 3 seconds</p>
    <!-- use your CSS skills to adjust iframe on the page -->
    <!-- You can also decide if you want to hide iframe intially and show it on first load -->
    <iframe id="iframe_window" src='about:blank' style="height:100%;width:100%;"></iframe>
    <script>
        var time = setTimeout(function () {
            document.getElementById['iframe_window'].src = 'http://example.com';

        }, 3000);

        var one = setTimeout(function () {
           document.getElementById['iframe_window'].src = 'http://google.com';
        }, 6000);
    </script>
</body>
</html>

答案 2 :(得分:0)

您可以执行此操作(在"_blank"而不是window.open中使用window.location

<!doctype html>
<html>
<body>
    <p>You will be redirected in 3 seconds</p>
    <script>
        setTimeout(function () {
             window.open('http://www.example.com','_blank');
        }, 3000);

setTimeout(function () {
    window.open('http://google.com','_blank');
        }, 6000);

    </script>
</body>
</html>

您可以使用window.location=""指定窗口的位置。当第一个window.location被执行时,它会丢失第一个代码的存在并重定向到www.example.com页面。现在,如果您想实现这一点,那么您必须在window.location代码中添加另一个www.example.com