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 オブジェクトへの参照を返すことです。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);
}

window.open("http://www.google.com")最初の呼び出しの引数リストの作成中に呼び出しが実行されるため、このバージョンでは Google タブが開きsetIntervalます。setIntervalおそらく、ウィンドウ参照を渡したときに例外または何かが発生しているため、残りの部分には到達していません。

于 2013-08-03T05:43:19.087 に答える