2014-05-09 51 views
0

我有一個內容管理系統,爲了使這個內容管理系統用於工作的標籤,我需要加載所有頁面,包括一些沒有直接在網站上找到的頁面。這是一次性的事情,所以它並不重要,但我認爲爲此做一個功能會很有趣。如何使用jQuery在新窗口中加載頁面然後關閉它們?

我想創建一個鏈接,點擊後會打開並按順序加載一系列頁面,然後關閉它們。

<a href="#" id="#load">Click here to load the pages!</a> 

<script> 
    $('#load').click(function() { 
     window.open('www.google.ca'); 
    }); 
</script> 

上面的代碼應該打開一個頁面,我將如何添加更多頁面,並且可以使腳本關閉頁面?

+1

'變種mywindow的= window.open( 'www.google.ca'); myWindow.close();' – devqon

+0

感謝您的回覆!如何添加更多頁面來打開和關閉? – mattroberts33

+1

你想打開它們並立即關閉嗎?或在另一個點擊? – devqon

回答

1
var sites = ["www.google.ca", "www.google.com"]; 

$("#load").click(function(){ 
    var windows = []; 
    for(var i = 0; i < sites.length; i++){ 
     var wd = window.open("http://" + sites[i]); 
     windows.push(wd); 
    } 
    setTimeout(function(){ 
     for(var i = 0; i < windows.length; i++){ 
      windows[i].close(); 
     } 
    }, 1000); 
}); 

JSFIDDLE

但是,正如A.沃爾夫說,瀏覽器,如果你打開更多然後1,如果用戶啓用該站點的彈出窗口只能擋住窗戶。

+0

謝謝你的幫助! – mattroberts33

+0

我的朋友,通過測試你的腳本,它只是加載我的網站,每個頁面打開爲「www.example.com/0」,每個額外的頁面是1,2,3,4等?它也不關閉任何頁面。 – mattroberts33

+1

顯然循環不能像這樣工作。檢查我編輯的答案。 – devqon

1

您可以聲明數組來保存所有窗口。和迭代它關閉象下面這樣:

var window_arr = new Array(); 

<script> 

// Code to open all windows  

    $('#load').click(function() { 
    window_arr.put(window.open('www.google.ca')); 
    }); 

// code to close all windows 

for (var window in window_arr) { 
    window_arr[window].close(); 
    } 

+1

感謝您的回覆! – mattroberts33

相關問題