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?'; };
如果浏览器在页面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; ?>' }); });