用于以特定时间间隔打开URL的脚本

时间:2015-08-01 05:45:21

标签: javascript url

我怎样才能一个接一个地打开30个网址,每个网址都有30秒的延迟。每个新网址都可以在同一个窗口中打开,也可以有一个iframe,所有网址都会一个接一个地打开。

3 个答案:

答案 0 :(得分:1)

在新标签页中打开网址。使用setInterval设置加载之间的时间间隔。

Javascript代码:

  var targets = [                          //Place target URL here

        'http://www.google.com', 
      'http://www.EnggForum.com/'

    ];

    var iTarget;

    function nextTarget(){
        window.open( targets[iTarget], 'target' );
        if( ++iTarget >= targets.length ) {
            iTarget = 0;
        }
    }

    function start() {
        iTarget = 0;
        nextTarget();
        setInterval( nextTarget, 30000 );   //time interval here 30000 = 30 Sec
    }

the original paperReference 1

答案 1 :(得分:0)

要在重复的时间循环上执行任何操作,您只需创建一个使用setTimeout调用自身的函数。在这种情况下,您希望它自己调用,直到它用完了要显示的URL。

要导航iFrame,只需设置它的src属性。

结合这两个答案,你有:

<强> HTML:

<iframe id='the_iframe'></iframe>

<强> JavaScript的:

var urls = [
    'https://www.youtube.com/embed/wZNYDzNGB-Q',
    'https://www.youtube.com/embed/DRs0Kw2rUVQ',
    'https://www.youtube.com/embed/JmENgrVOwgA',
    'https://www.youtube.com/embed/2vEStDd6HVY'
];
var seconds = 30;
function openNext(){
    document.getElementById('the_iframe').src = urls.shift();
    if(urls.length)setTimeout('openNext()',seconds*1000);
}
openNext();

JsFiddle: http://jsfiddle.net/trex005/z09roapd/

同样重要的是要注意,许多网站在其网页上设置了不允许对其进行框架设置的标头。如果你需要使用弹出窗口,你可以在这里使用所有相同的逻辑,但是你可以像这样创建弹出窗口:

var popup = window.open(urls.shift();, 'popup');

然后像这样导航:

 if(!popup.closed) {
    popup.location.href = urls.shift();
}

答案 2 :(得分:-1)

查看JS的setTimeout和setInterval方法 Link1Link2

或尝试简单的代码

<!DOCTYPE html>
<html>
<body>

<p>Click the button to wait 3 seconds, then alert "Hello".</p>
<p>After clicking away the alert box, an new alert box will appear in 3 seconds. This goes on forever...</p>
<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
    setInterval(function(){ alert("Hello"); }, 3000);
}
</script>

</body>
</html>