是否有可能用JavaScript打开d出窗口,然后检测用户何时关闭它?

是否有可能用JavaScript打开d出窗口,然后检测用户何时关闭它?,第1张

是否有可能用JavaScript打开d出窗口,然后检测用户何时关闭它?

如果您可以控制d出窗口的内容,请在该窗口中处理窗口的

unload
事件,并通过
opener
属性通知原始窗口,首先检查打开器是否已关闭。请注意,这在Opera中并不总是有效。

window.onunload = function() {    var win = window.opener;    if (!win.closed) {        win.someFunctionToCallWhenPopUpCloses();    }};

由于该

unload
事件将在用户每次离开d出窗口中的页面时触发,而不仅仅是关闭窗口时触发,因此您应该检查d出窗口在以下位置是否确实已关闭
someFunctionToCallWhenPopUpCloses

var popUp = window.open("popup.html", "thePopUp", "");function someFunctionToCallWhenPopUpCloses() {    window.setTimeout(function() {        if (popUp.closed) { alert("Pop-up definitely closed");        }    }, 1);}

如果您无法控制d出窗口的内容,或者您​​的目标浏览器之一不支持该

unload
事件,则可以在主窗口中使用某种轮询解决方案。调整间隔以适合。

var win = window.open("popup.html", "thePopUp", "");var pollTimer = window.setInterval(function() {    if (win.closed !== false) { // !== is required for compatibility with Opera        window.clearInterval(pollTimer);        someFunctionToCallWhenPopUpCloses();    }}, 200);


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5060922.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存