2012-02-07 274 views
4

我在主頁面上有一個按鈕,它將打開(window.open())一個窗口W1,以允許用戶選擇其上的東西。之後,用戶按下W1上的OK按鈕打開窗口W2(再次window.open())。如何在用戶按OK後關閉W1?Javascript:關閉彈出窗口

+0

你可以發佈你的代碼嗎? – Unknown 2012-02-07 02:39:48

回答

3

使用window.close()方法與目標窗口的名稱,如下圖所示:

win1 = window.open("","","width=100,height=100"); 
okBtn.onclick = function() { 
    win2 = window.open("","","width=100,height=100"); 
    win1.close(); 
} 
+0

由於該窗口是從插件打開的,因此我無法控制win1變量。有沒有其他方法?我也嘗試在onclick動作中設置win1:window.opener = self; window.open(url2,...)但它不起作用 – 2012-02-07 02:54:01

+0

您域中的win1內容是否可供您編輯? – Aaron 2012-02-07 02:59:45

+0

是的。它是。客戶端由struts框架製作併發送回服務器。服務器然後通過彈出窗口轉發請求並顯示回客戶端 – 2012-02-07 03:01:50

0

在主畫面保存彈出到W1,並定義一個函數,將關閉W1:

W1 = window.open("","","width=100,height=100"); 

function closeW1() { 
    W1.close(); 
} 

現在W1在您打開W2的同一個地方:

okBtn.onclick = function() { 
    W2 = window.open("","","width=100,height=100"); 
    window.opener.closeW1(); 
} 

就是這樣。你完成了。