2012-02-07 240 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(); 
} 

就是这样。你完成了。