0

我正在寻找将在特定时间间隔后自动打开新选项卡(窗口)的 javascript 代码。

执行第一个 url 后,setTimeout()/setIntervals() 将被忽略??请帮忙!

<html>
<head>
<script type="text/javascript">
function open_win() {
setInterval(window.open("http://www.google.com"), 1000);
setInterval(window.open("http://www.yahoo.com"), 1000);
setInterval(window.open("http://www.bing.com"), 1000);
}
</script>
</head>

<body>
<form>
<input type=button value="Open Windows" onclick="open_win()">
</form>
</body>

谢谢

4

1 回答 1

0

首先,您不想为此setInterval使用setInterval

重复调用函数或执行代码片段,每次调用该函数之间有固定的时间延迟。

你想使用setTimeout哪个:

在指定的延迟后调用函数或执行代码片段。

下一个问题是它setTimeout想要一个函数作为它的第一个参数,但window.open返回一个对窗口对象的引用。您想将这些window.open调用包装在函数中:

function open_win() {
    setTimeout(function() { window.open("http://www.google.com") }, 1000);
    setTimeout(function() { window.open("http://www.yahoo.com")  }, 1000);
    setTimeout(function() { window.open("http://www.bing.com")   }, 1000);
}

您的版本将打开 Google 选项卡,因为该window.open("http://www.google.com")调用将在为第一次setInterval调用构建参数列表时执行。据推测,当您将窗口引用传递给它时,您会得到一个异常或其他东西,setInterval因此其余的甚至都没有到达。

于 2013-08-03T05:43:19.087 回答