重新加载父窗口后弹出窗口未关闭

pop up window not closing after the parent window is reload

本文关键字:窗口 新加载 加载      更新时间:2023-09-26

在我的父jsp页面中,我使用了:

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

在孩子(弹出窗口)中,我使用了:

<script type="text/javascript">
        window.onunload = function() {
                if (window.opener && !window.opener.closed) {
                window.opener.popUpClosed();
                }
        };
</script>

通过此代码,从弹出窗口插入数据后,父窗口正在重新加载,但弹出窗口没有关闭,我必须手动关闭弹出窗口。如何使弹出窗口自行关闭?

要关闭弹出窗口中的窗口,请按如下方式更改代码:

<script type="text/javascript">
        window.onunload = function() {
                if (window.opener && !window.opener.closed) {
                window.opener.popUpClosed();
                }
                window.close();
        };
</script>

请参阅此处:如何关闭当前窗口。 每当页面卸载时,都会调用onunload。如果要通过提交按钮发布数据,则会卸载文档。

这与关闭窗口不同。如果只想捕获窗口的关闭,则应使用如下内容:

window.onbeforeunload = windowExit;
function windowExit(){
    //do somethng
    //check that you are not submitting.
}

下面是打开和关闭弹出窗口的两个示例函数。如果在变量中创建窗口,则可以定位已打开的窗口,这意味着可以关闭它。

<script>
function openWin()
{
    myWindow=window.open("","","width=200,height=100");
    myWindow.document.write("<p>This is 'myWindow'</p>");
}
function closeWin()
{
    myWindow.close();
}
</script>