繁体   English   中英

关闭弹出窗口时,可以刷新父窗口吗?

[英]Can I refresh my parent window when closing the popup?

我想在关闭弹出窗口时刷新父窗口。可以使用以下命令

window.opener.location.reload();

但是我的要求略有不同,因为我必须编写所有这些代码来刷新父页面本身中的父页面。

我无法在弹出窗口中编写一行代码。

谢谢,

我知道的唯一方法是经常检查子窗口状态,但这在这个问题中得到了清楚的解释

就是说,我不知道这是否可以替代,但是使用灯箱代替新的窗口弹出窗口将使您可以完全控制事件,因为整个事件都保留在同一窗口中。

大多数lightbox API都使用动态生成的iFrame来显示外部网站,从而提供了这种功能(将外部网站而不是通常的图片加载到lightbox中)。 该解决方案也有缺点(例如:现场将框架无效代码加载到灯箱中),但看起来比普通的旧新窗口更好...

我已经在项目上使用Shadowbox一段时间了,并且一直很喜欢它,但是还有很多其他项目,甚至更好。

您需要在弹出窗口中处理unload事件处理程序,然后在主窗口中进行重新加载。 在主窗口中,添加JavaScript:

function popUpClosed() {
    window.location.reload();
}

在弹出窗口中:

window.onunload = function() {
    if (window.opener && !window.opener.closed) {
        window.opener.popUpClosed();
    }
};

因此,如果您需要代码在所有浏览器(尤其是IE)中都能正常工作,那么对问题的答案通常为否。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM