【问题标题】:closing child window while the reference is lost [without opening a false popup]在引用丢失时关闭子窗口[不打开错误弹出窗口]
【发布时间】:2015-04-17 21:48:57
【问题描述】:

好吧!关于这个主题的帖子太多了,但找不到能回答我问题的帖子。

主题 Javascript。
问题:

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

现在假设父级已刷新。 注销时,我想关闭所有打开的弹出窗口。 打开的弹出窗口可以很容易地关闭,我可以使用

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

现在,如果弹出窗口没有打开,我正在尝试使用上面的代码关闭它们。它会打开一个错误的弹出窗口,然后将其关闭,这是我不想要的。这给人一种闪烁弹出窗口的糟糕感觉。

我怎样才能实现它?

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

【问题讨论】:

    标签: javascript popup window.open


    【解决方案1】:

    你试过了吗:

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

    刚刚意识到windows有一个属性.close:

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

    查看以下链接以获取有关窗口打开/关闭方法和属性的更多参考:

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

    【讨论】:

    • 如果window.open() 工作,总会有一个窗口打开。这无济于事。
    • win.closed 将不起作用,因为没有 win 对象(刷新后)。我正在使用 window.open 创建它,并且新窗口会闪烁。
    猜你喜欢
    • 2013-05-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    相关资源
    最近更新 更多