javascript来检查浏览器窗口是否closures

有谁知道任何方式,我可以使用JavaScript来检查浏览器窗口closures,并popup确认dailog询问用户是否确认退出浏览器或改变主意留下来?

window.onbeforeunload = function (e) { var e = e || window.event; //IE & Firefox if (e) { e.returnValue = 'Are you sure?'; } // For Safari return 'Are you sure?'; }; 

https://developer.mozilla.org/en/DOM/window.onbeforeunload

如果浏览器在页面closures后仍然运行,并且浏览器处理body元素的“ onbeforeunload ”事件(有时会被禁用),并且浏览器允许popup窗口或消息框,并且能够从该事件返回false以防止页面更改,那么这是可能的。

例如,开始在启用Javascript的任何一个stackoverflow页面上input评论,然后离开该页面。

这对我工作:

 function closeWin(){ var exit = confirm("Do you want to leave this window?"); if(exit==true){ //do something before closing; } } body onbeforeunload="closeWin()" 

这里的文档鼓励监听onbeforeunload 事件和/或在window上添加一个事件监听window

 window.addEventListener('beforeunload', function(e) {}, false); 

您也可以使用函数函数引用来填充window.onunload.onbeforeunload属性。

虽然浏览器的行为不规范,但是在确认是否离开页面时,该函数可能会返回浏览器将显示的值。

这也适用,除非用于IE8

 $(window).bind('beforeunload', function (e) { // code to execute when browser is closed e.$.post("func.php", { action: 'action', id_userMsg: '<?php echo $id_user; ?>' }); });