2015-04-17 58 views
0

好吧!有很多这个主题的帖子,但找不到答案我的问题。关闭子窗口,但参考丢失[没有打开错误弹出窗口]

主题Javascript。
问题:

我的应用程序使用window.open API打开3-4个弹出窗口。这取决于用户是否保持打开或关闭。用户可以刷新父页面,这将最终失去所有儿童的引用。

现在假设家长被刷新。 注销时,我想关闭所有打开的弹出窗口。 打开弹出式窗口可以很容易地关闭,我能明白这一点使用

win = window.open("", CHILD_WINDOW_NAME); 
win.close(); 

现在,如果弹出窗口是不公开的,我尝试使用上面的代码来关闭它们。它打开一秒钟的错误弹出窗口,然后关闭它,我不想要。这给闪烁的弹出窗口带来不好的感觉。

我怎么能实现它?

参考:http://josephj.com/lab/2011/window-open-reconnect/demo.html

回答

0

你尝试:

if (win) { 
    win.close(); 
} 

只是意识到窗户有一个属性.closed:

if (!win.closed) { 
    win.close(); 
} 

结帐以下链接窗口上更多的参考资料打开/关闭方法和属性:

http://www.javascriptkit.com/javatutors/openclose.shtml

+0

如果'window.open()'工作,那么总会有一个窗口打开。这不会帮助。 – Pointy

+0

win.closed不会工作,因为没有win对象(刷新后)。我使用window.open创建它,并且新窗口闪烁。 –

相关问题