2014-10-05 84 views
0

我有一个主窗口,在此窗口内部有一个iframe。在这个iframe中,主窗口载入几个不同的窗口。在这些窗口中有打开的窗口 - 它们不是模式,站点架构不允许使它们变为模态。我需要关闭在卸载主窗口时从所有这些iframe窗口打开的所有窗口。有没有什么办法让它跨浏览器工作,特别是在IE中?我需要向后兼容性直至并包括IE 8 我附上该网站 enter image description here如何关闭在主窗口卸载时从主窗口的iframe打开的窗口

回答

0

的架构的方案采取窗口的句柄,当你打开它们,并分配一个回调函数来开门红,这样的:

var w = window.open("...."); 
w.callback = function(){ 
    if (window){ 
     return true; 
    } 
} 

然后从里面每个打开的窗口中有一个统筹机制,将调用

callback 

被困在尝试捕捉内部确定揭幕战仍然是活着。

+0

谢谢,这表明每个窗口都会检查父窗口是否仍然存在,而我更喜欢关闭父窗口中的所有打开的窗口 – 2014-10-05 11:05:12

+0

OK,在窗口关闭后,您不能关闭子窗口,可以做。另一个选择是存储打开的窗口,并在opener中使用 myCleanUpFunc将关闭所有窗口句柄。这是一个选项吗? – 2014-10-05 11:07:41

+0

如果有一种方法可以检测到从iframe打开了一个窗口,它可能是一个选项。我怎么做? – 2014-10-05 11:26:16