2014-09-28 62 views
0

我試圖從firefox開發人員控制檯使用javascript加載成千上萬的URL。使用javascript的成功重定向

到目前爲止,我已經嘗試與不同版本的代碼:

function redirect() { 

    var urls = ["http://www.marca.com", "http://www.yahoo.es"] 
    for (i = 0; i < urls.length; i++) { 
     setTimeout(location.assign(urls[i], 5000)); 
    } 
} 

但這種代碼的結果是,它只是重定向到該數組中的最後一個網址。在迭代到下一頁之前,每個頁面應該完全加載。

我也試過使用window.onload,但沒有運氣。它始終是加載的最後一個網址。

我想這一定是非常基本的東西(我是javascript新手),但找不到任何解決方案。

任何幫助或暗示我在做什麼錯在這裏將不勝感激。提前致謝!

+0

你發出2個重定向,間隔約1ms,所以當然你會在最後一頁。你期望會發生什麼? – Johan 2014-09-28 18:05:40

+0

謝謝你的提示,但它也是這樣,無論你設置定時器多久。 – Alfonso 2014-09-28 21:43:48

回答

0

在運行代碼之後檢查控制檯,看起來請求被髮送到第一個URL,但在第二次循環運行時很快中止,而不是重定向到最新的URL。

我的建議是打開不同標籤頁,如果這對你有用。

你可以做,

for (i = 0; i < urls.length; i++) { 
window.open(urls[i],"_blank"); 
} 

這將打開新的標籤頁。

+0

非常感謝您的回答。您的解決方案有效,但我需要它在同一個選項卡中發生。我試過測試網頁中的代碼,以查看問題是否與使用Firefox控制檯相關,但是我得到的行爲相同... – Alfonso 2014-09-29 07:28:07

+0

您能否解釋爲什麼您需要在同一個選項卡中執行重定向? – Ymartin 2014-09-29 08:27:18

+0

我打算將一個數字列表加載到頁面表單中。數字列表非常大(如150或更多),所以我無法加載如此多的選項卡。數字通過網址傳遞。看到我現在正在考慮的不同方法的困難,並直接在表單中加載數字,然後單擊按鈕以提交programmaticaly。 – Alfonso 2014-09-29 09:54:47