javascript - 检测浏览器中的 JavaScript 弹出窗口关闭事件

标签 javascript asp.net dom-events postback

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

最佳答案

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

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

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 代码替换警报。

玩得开心! :)

关于javascript - 检测浏览器中的 JavaScript 弹出窗口关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206462/

相关文章:

javascript - 如何将 iframe 面板注入(inject) Google Chrome 扩展并在 iframe 内添加点击事件?

javascript - 如何让 "cross"弹出::在不同的部分之后

c# - ASP.NET 页面中的 base.OnLoad(e)

javascript - 为什么 window.open(...).onunload = function () { ... } 不能像我预期的那样工作?

javascript - 自动将点击事件应用于每个 HTML 元素

javascript - 在 JavaScript 中触发选项卡按键事件?

javascript - 脚本标签中没有脚本标签?

javascript - 使用 valdr (AngularJS) 手动触发验证

asp.net - Crystal Report Viewer 按钮在 Google Chrome 和 Firefox 中不起作用,但在 IE 中正常

javascript - 有没有办法在没有换行符的情况下使用 div 标签,或者有​​其他选择吗?