我有一个弹出窗口:
var popup = window.open(URL, ...) //content of popup is not in my control
我想知道弹出窗口何时关闭,并认为下面的代码可以帮助我。
$(popup).unload()
但是,Firefox 在弹出窗口出现时启动卸载事件,而不是在弹出窗口关闭时启动!
是否有一种可靠的方法可以知道打开程序何时关闭弹出窗口?
我不太喜欢每隔(比如)500 毫秒轮询一次弹出窗口是否关闭...
(我在 How to know when popup is closed in javascript 上找到了这个解决方案)
最佳答案
如果你可以在弹出窗口中添加一个onbeforeunload
event
handler
然后尝试这样的事情,
parent :
function parentCallback(){
alert("popup is closed");
}
var popup = window.open(URL, ...);
弹出窗口:
window.onbeforeunload = function(){
window.opener.parentCallback();
self.close();
};
否则使用interval
,这就是我的建议,比如
var pop_win = window.open(url,...);
var timer = setInterval(function() {
if(pop_win.closed) {
clearInterval(timer);
alert('popup is closed');
}
}, 1000);
关于javascript - 检测弹出窗口何时关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898891/