gpt4 book ai didi

javascript - 处理弹出窗口关闭的正确方法

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:01 24 4
gpt4 key购买 nike

我正在寻找弹出窗口的关闭事件。我找到了一个 for XUL ,但我需要它用于 HTML。

弹出窗口有 closed 属性。

>>> var popup = open('http://example.com/', 'popup', 'height=400,width=500');
>>> popup.closed
false

嗯,我可以check it once at half second .

function open_popup() {
var popup = open('http://example.com/', 'popup', 'height=450,width=450');
var timer = setInterval(function(){
if (popup.closed) {
alert('popup closed!');
clearInterval(timer);
}
}, 500);
}

我已经在 Chrome 4.0.249.27、Opera 10.10、Safari 4.0.4 和 Firefox 3.5.5 上对其进行了测试。一切正常。

但是 setInterval 打扰了我。这是丑陋的。有更好的方法吗?

更新:我使用弹出窗口进行身份验证对话框(实际上是 oAuth)。我想在弹出窗口关闭后(通过 postMessage)向父窗口发送一些数据。

来自另一个域的内部弹出页面。因此,由于安全限制,我无法向其添加任何事件 (unload)。

由于 iframe 破坏脚本,我无法使用 iframe。所以,我不能使用任何花哨的 jQuery 模式对话框。

我无法在弹出窗口中编辑任何内容

最佳答案

您可能想查看 unload 事件,查看 Javascript: Popups

编辑:正如您所说,您不能在弹出窗口中编辑任何内容,实际上没有任何选项。我相信您当前的 setInterval 代码可以很好地完成工作。您应该问问自己,实时检测弹出窗口关闭是否绝对重要。那个 500 毫秒计时器肯定不会占用任何资源或使某人的计算机瘫痪。

关于javascript - 处理弹出窗口关闭的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1853875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com