2011-07-28 279 views
1

在asp.net中有一个页面,它有一个打开到浏览器中的新标签的链接。所以当我关闭父母标签时,所有子标签都应该关闭。父母标签关闭时关闭所有子标签

我该怎么做?

我的方法是使用JavaScript,但直到现在还没有达到太多。

+1

请显示你的代码。 – afaf12

+0

@ -1标记可以提供你的屈膝礼的原因 – ankur

回答

4

当你调用window.open(),您将得到一个句柄:

myWindow = window.open(/* open stuff*/); 

如果您跟踪这些句柄的数组(例如),然后你可以拨打:

myWindow.close(); 

当你完成。

编辑

例如:

var wnds = new Array(); 

每当你想开一个窗口:

wnds[wnds.length] = window.open(/* open stuff*/); 

,并关闭所有这些

for(i = 0; i < wnds.length; ++i) 
    wnds[i].close(); 
+0

这是一些类似的事情,但我有两个问题1)当用户点击浏览器上的小十字按钮时,我该如何检测? 2)我如何给循环中的窗口的索引进行关闭。 – ankur

+0

你可以把结束代码放在一个函数中,比如'closePopups();',然后挂钩onbeforeunload事件(当用户导航时),例如:'window.onbeforeunload = function(){closePopups( );}'。我不确定用户是否击中了'X',这会起作用(我现在无法测试它,恐怕)。 –

+0

感谢MOO我会试试看,关于我的第二个问题,你可以提供一些帮助 – ankur