window.close()的;在Firefox中使用window.opener后无法正常工作

时间:2013-01-26 13:18:22

标签: javascript

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

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打开的情况下才有效,但我觉得这就是这种情况吗?

如果我删除了opener-function,那么

window.close工作正常。是因为脚本不知道“窗口”是指第二个实例中的孩子吗?

1 个答案:

答案 0 :(得分:0)

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

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