我正在寻找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>
谢谢
答案 0 :(得分: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
获得一个异常或者其他东西,所以其余部分甚至都没有到达。