弹出窗口在关闭时将数据返回到父级

问题描述 投票:24回答:2

我有一个使用window.open()打开的弹出窗口。我现在想要的是用户能够在这个新窗口中单击2个链接之一:“允许”或“不允许”。

当用户点击其中一个链接时,“弹出”窗口应该关闭,并向父窗口返回“允许”或“不允许”或沿着这些行,true / false会做的事情。

可能吗?如果是这样,怎么样?

码:

var authWindow = window.open('auth.php', 'authWindow', 'options...');

然后在auth.php内只有2个锚点?

javascript jquery popup
2个回答
59
投票

在调用(父)窗口中添加这样的JS代码:

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

在子窗口代码中添加:

function CloseMySelf(sender) {
    try {
        window.opener.HandlePopupResult(sender.getAttribute("result"));
    }
    catch (err) {}
    window.close();
    return false;
}

并有这样的链接关闭弹出窗口:

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

4
投票

你可以使用window.opener

© www.soinside.com 2019 - 2024. All rights reserved.