gpt4 book ai didi

javascript - 是否可以用 javascript 打开一个弹出窗口,然后检测用户何时关闭它?

转载 作者:IT王子 更新时间:2023-10-29 02:53:19 27 4
gpt4 key购买 nike

问题几乎都在标题中。

是否有可能(以及如何?)使用 javascript 打开弹出窗口然后检测用户何时关闭它?

我在项目中使用 jquery,因此 jquery 解决方案会很好。干杯!

最佳答案

如果您可以控制弹出窗口的内容,请在那里处理窗口的 unload 事件并通过 opener 属性通知原始窗口,首先检查是否开瓶器已关闭。请注意,这在 Opera 中并不总是有效。

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

由于 unload 事件将在用户离开弹出窗口中的页面时触发,而不仅仅是在窗口关闭时触发,因此您应该检查弹出窗口是否已实际关闭someFunctionToCallWhenPopUpCloses:

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

如果您无法控制弹出窗口的内容,或者如果您的目标浏览器之一不支持 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);

关于javascript - 是否可以用 javascript 打开一个弹出窗口,然后检测用户何时关闭它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291712/

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