Javascript 关闭时将数据返回给父级的弹出窗口

Javascript 关闭时将数据返回给父级的弹出窗口,javascript,jquery,popup,Javascript,Jquery,Popup,我使用window.open()打开了一个弹出窗口。我现在想要的是用户能够在这个新窗口中点击两个链接中的一个:“允许”或“不允许” 当用户单击其中一个链接时,“弹出窗口”应关闭,并向父窗口返回“允许”或“不允许”或类似的内容,true/false 可能吗?如果是,怎么做 代码: 然后在auth.php?中只需2个锚,您就可以使用window.opener进行此操作。在调用(父)窗口中添加这样的JS代码: function HandlePopupResult(result) { alert

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

当用户单击其中一个链接时,“弹出窗口”应关闭,并向父窗口返回“允许”或“不允许”或类似的内容,
true
/
false

可能吗?如果是,怎么做

代码:


然后在
auth.php

中只需2个锚,您就可以使用
window.opener
进行此操作。

在调用(父)窗口中添加这样的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>


到目前为止,您自己尝试过什么吗?你可以使用模态PopupsCodePosted?虽然我真的不觉得有必要,哈哈。你以后会怎么处理这些值呢?我个人尽量避免窗口弹出。通常我使用jqueryui对话框(或flowtools覆盖,或wijmo对话框)来模拟弹出行为。在我看来,它看起来更漂亮,更干净,避免了浏览器阻塞弹出窗口的问题-只是一句小评论:)函数CloseOwn导致了一个错误,因为链接直接指向#,窗口没有关闭。@Joey抱歉,我的代码中有错误。。现在看。(在JavaScript中,
catch
必须有以下括号)好奇的是:有没有理由不将“allow”或“disallow”作为参数传递给closeimf()函数?使用结果属性设计有什么好处?@SteveK在逻辑和代码之间有更好的分离,因为“允许”和“不允许”是元素本身的一部分,至少在我看来是这样。还提供了更好的灵活性,例如,如果我们想在将来使用更多参数,只需从元素本身读取它们。如果父页面和子页面位于同一服务器中,这将起作用,对吗?
<a href="#" result="allow" onclick="return CloseMySelf(this);">Allow</a>
<a href="#" result="disallow" onclick="return CloseMySelf(this);">Don't Allow</a>