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

时间:2012-06-22 03:31:54

标签: javascript jsp

在我使用的父jsp页面中:

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

在孩子(弹出窗口)我用过:

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

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

2 个答案:

答案 0 :(得分:0)

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

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

function closeWin()
{
    myWindow.close();
}
</script>

答案 1 :(得分:0)

要关闭弹出窗口中的窗口,请更改以下代码:

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

请参阅此处:How to close the current window。 只要您的页面卸载,就会调用onunload。 如果要通过提交按钮发布数据,则表示您正在卸载文档。

这与关闭窗口不同。 如果你只想捕捉窗口的关闭,你应该使用类似的东西:

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