在浏览器中检测JavaScript弹出窗口关闭事件

时间:2012-11-03 05:57:08

标签: javascript asp.net javascript-events postback

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

3 个答案:

答案 0 :(得分: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代码替换警报。

玩得开心! :)

答案 1 :(得分:1)

你需要一个事件处理程序,只有这两个人可以使用。所以正如你所说,你将有历史记录回来并刷新触发你的活动。

请查看this帖子

另一种解决方案是将弹出窗口大小设置为全屏并自行设置关闭按钮。对不起,javascript这里的解决方案用完了: - /

答案 2 :(得分:-1)

$(window).bind('unload', function(){
    // ...
});