0

我的父窗口中有以下代码:

function OpenPopup()   {     
     var authWindow = window.open('t.php', 'authWindow', 'options...');
}

function HandlePopupResult(result) {
    alert("result of popup is: " + result);
}

以及弹出窗口中的以下代码:

 <script type="text/javascript">
function CloseMySelf(sender) {
    try {
        window.opener.HandlePopupResult(sender.getAttribute("result"));
    }
    catch (err) {}
    window.close();
    return false;
}    
 </script>

<a href="#" result="allow" onclick="CloseMySelf(this);">Allow</a>
<a href="#" result="disallow" onclick="CloseMySelf(this);">Don't Allow</a>

该函数的第一部分工作正常,但弹出窗口没有关闭。我读过,window.close 仅​​在弹出窗口已由 javascript 打开时才有效,但我认为这里是这种情况?

window.close 工作正常,如果我删除 opener-function。是因为脚本不知道“窗口”指的是第二个实例中的孩子吗?

4

1 回答 1

0

我决定只关闭父窗口的弹出窗口

function HandlePopupResult(result) {
    authWindow.close();
    alert("result of popup is: " + result);
}
于 2013-01-26T14:20:15.320 回答