从另一个窗口关闭所有子窗口浏览器

时间:2014-01-30 16:44:40

标签: java javascript jquery struts

这是我的情景: 我在我的浏览器(IE8)中有一个标签,如果我点击一个链接,我会打开一个新窗口(窗口名称:“ Win2 ”)。 现在,我回到第一个窗口,在浏览器中打开一个新选项卡,转到另一个页面,然后单击另一个链接。 点击最后一个链接后,我想关闭“ Win2 ”页面。 我可以使用Javascript吗?我如何从另一页访问第1页的孩子? 后端方面,我使用带有框架struts的Java 1.5。

2 个答案:

答案 0 :(得分:1)

保存每次调用window.open的返回值:

var windows = {};

windows.Win2 = window.open("...", "Win2");

关闭所有这些:

for (var name in windows) {
    if (windows.hasOwnProperty(name)) {
        windows[name].close();
        windows[name] = null;
    }
}

或者关闭一个:

windows.Win2.close();

答案 1 :(得分:0)

您可以将打开的窗口存储在父窗口中的变量中。

var Win2 = window.open("", "Win2");

然后您可以稍后使用变量关闭它。

Win2.close();

如果要从原始父级的其他子窗口关闭Win2。在父窗口上创建一个函数,然后从子窗口调用它。

父窗口

function CloseWin2() {
    Win2.close();
}

子窗口

if(window.opener) {
    window.opener.CloseWin2();
}