window.onclose函数

我用这个函数调用我的窗口关闭。

这是确认框弹出窗口。

if(confirm("Sure you want to close the window"); { // yes return to submit function } else { // no return to Other call function } window.onclose = function() { alert('yes'); } 

在带有X符号的右上角窗口关闭时,我需要返回false。 我试图使用这个window.onclose函数,但它没有弹出。

有人可以帮帮我吗?

不幸的是,弹出窗口没有你可以收听的任何关闭事件,但是当窗口关闭时,有一个关闭的属性是真的。 解决此问题的解决方案是启动计时器并每秒检查子窗口的关闭属性,并在窗口关闭时清除计时器。 这是代码:

 var win = window.open('http://www.google.com','google','width=800,height=600,status=0,toolbar=0'); var timer = setInterval(function() { if(win.closed) { clearInterval(timer); alert('closed'); } }, 1000); 

今天的浏览器没有“关闭”事件。

有一个onbeforeunload,但是在调用它时你不能做很多事情,尤其是你无法在没有用户同意的情况下阻止窗口关闭,如果你从正在关闭的页面尝试它们,大多数远程操作都会失败。

对于弹出窗口,您可以获取结束事件,并执行长操作,但仅在开启窗口中:

  var w = window.open('popup.html'); w.onbeforeunload = function(){ // set warning message }; 

重要提示 :在最新版本的chrome中, onbeforeunload仅允许您设置警告消息; 你可能没有运行额外的逻辑。