2

我正在使用window.open()函数打开一个 Javascript 弹出窗口,并且上面有关闭按钮。我想在 IE、Firefox 和 chrome 中检测该窗口的关闭事件,因为我想清除会话变量并重定向到其他页面。我尝试使用window.onbeforeunload 事件,但它在每次回发时执行。任何建议将不胜感激。

4

3 回答 3

2

您的问题有一个非常简单的解决方案。

首先创建一个新对象,它会像这样打开一个弹出窗口:

var winObj = window.open('http://www.google.com','google','width=800,height=600,status=0,toolbar=0');

为了知道此弹出窗口何时关闭,您只需使用如下循环继续检查:

var loop = setInterval(function() {   
    if(winObj.closed) {  
        clearInterval(loop);  
        alert('closed');  
    }  
}, 1000); 

现在你可以用你想要的任何 javascript 代码替换 alert。

玩得开心!:)

于 2014-09-03T10:24:50.153 回答
1

您需要一个事件处理程序,只有这两个可以使用。因此,正如您所说,您将获得历史记录并刷新触发您的事件。

请查看此帖

另一种解决方案是将弹出窗口大小设置为全屏并制作自己的关闭按钮。对不起,javascript在这里没有解决方案:-/

于 2012-11-03T06:39:36.337 回答
-1
$(window).bind('unload', function(){
    // ...
});
于 2012-11-03T06:13:52.930 回答