一个接一个地打开链接

Open links, one after another

本文关键字:一个 链接      更新时间:2023-09-26

我正在制作一个网站,每30秒打开一个新窗口。我让它正确打开新窗口,但我希望它在打开新窗口之前关闭最后一个打开的窗口,因此一次只能打开一个窗口。我该怎么做?这是我到目前为止的代码:

<script type="text/javascript">
function open_win() {
    window.open("http://www.wol.com");
    setTimeout(window.open('http://www.bol.com'),35000);
    setTimeout(window.open('http://lol.com'),70000);
    setTimeout(window.open('http://col.com'),105000);
}
</script>

您可以通过调用 window.close on window.open 的返回值来关闭打开的窗口。所以:

<script type="text/javascript">
function open_win() {
    var wol,bol,lol;
    wol=window.open("http://www.wol.com");
    setTimeout(function(){window.close(wol);bol=window.open('http://www.bol.com')},35000);
    setTimeout(function(){window.close(bol);lol=window.open('http://lol.com')},70000);
    setTimeout(function(){window.close(lol);window.open('http://col.com')},105000);
}
</script>

这里是用于调用 url 的小间隔循环。随意为不同的 URL 添加数组。

<script type="text/javascript">
    var lastWindow = "";
    setInterval(function(){
        if(lastWindow != ""){ lastWindow.close(); }
        lastWindow = window.open("url");
    }, 30000);
</script>

可以使用字符串数组来存储所有链接,然后在 30 秒后循环访问该循环调用 open 和 close。使用循环和抽象打开/关闭允许您拥有任意数量的链接。

var linkArray = ['http://www.wol.com', 'http://www.bol.com', 'http://lol.com', ['http://col.com']
function openWin(link) { 
    var currentWindow = window.open(link);
    setTimeout(currentWindow.close(), 30000);
}
function runLinks() {
    for(var i = 0; i< linkArray.length; i++) {
          openWin(linkArray[i]);
    }
}