2017-08-07 92 views
-7

我使用this script我喜歡,一切正常,但我想要一個更堅實的腳本。這裏是我的代碼:Javascript打開URL後延遲

<script type="text/javascript"> 
function open_win() { 
    setTimeout(function() { window.open("http://example.com/t101.php") }, 1000); 
    setTimeout(function() { window.open("http://example.com/t102.php") }, 1000); 
    setTimeout(function() { window.open("http://example.com/t103.php") }, 1000); 
    setTimeout(function() { window.open("http://example.com/t104.php") }, 1000); 

    setTimeout(function() { window.open("http://example.com/t105.php") }, 120000); 
    setTimeout(function() { window.open("http://example.com/t106.php") }, 120000); 
    setTimeout(function() { window.open("http://example.com/t107.php") }, 120000); 
    setTimeout(function() { window.open("http://example.com/t108.php") }, 120000); 

    setTimeout(function() { window.open("http://example.com/t109.php") }, 240000); 
    setTimeout(function() { window.open("http://example.com/t110.php") }, 240000); 
    setTimeout(function() { window.open("http://example.com/t111.php") }, 240000); 
    setTimeout(function() { window.open("http://example.com/t112.php") }, 240000); 

    } 
</script> 
<input type=button value="Start Scan" onclick="open_win()"> 

我打開網址爲4組,每組只需要不到2分鐘,各組執行的確切時間是不特定的/知道,但不到2分鐘。

而不是打開每個組在特定的時間我想打開每個組時,第一組關閉,而不是等待2分鐘。以上所有鏈接均使用window.close();執行時自動關閉。

還有沒有把這個功能打開100這樣的鏈接的任何機會?所有鏈接以編號結尾。

我是JavaScript的初學者。如果不合適,道歉。

+4

我投票結束這個問題作爲題外話,因爲SO在這裏是爲了幫助您編寫的代碼,但是SO不是在這裏爲您編寫代碼。 – Rob

+2

所以你想要一次打開100個鏈接?如果名稱相同,則獲取索引的循環就足夠了 –

+0

那麼,如果要檢測從另一個窗口返回的內容,那麼恐怕您需要特定的返回url。 – Jason

回答

1

Store中的window.open調用到像變量:

var a = window.open(/*url...*/); 

一旦窗口已經關閉,這是closed屬性將是真實的。只需設置一個setInterval()來檢查每秒鐘左右,以檢查它是否關閉,然後打開一個新窗口。這question有你的答案給你。像下面的內容可以工作:

var a = window.open("urla"); 
setInterval(function(){if (a.closed) {window.open("urlb");}}, 1000); 

如果你要打開100個鏈接,你可以做一個for循環單獨打開的每個環節:

for (var a = 100; a < 200; a++) { window.open("http://example.com/t" + a + ".php"); } 

^將打開鏈接,從100到199。