有没有人知道我可以使用javascript来检查浏览器窗口何时关闭并弹出确认dailog以询问用户是否确认退出浏览器或改变主意留下来?
答案 0 :(得分:22)
window.onbeforeunload = function (e) {
var e = e || window.event;
//IE & Firefox
if (e) {
e.returnValue = 'Are you sure?';
}
// For Safari
return 'Are you sure?';
};
答案 1 :(得分:1)
如果浏览器在页面关闭后仍然运行,并且浏览器处理了body元素的“ onbeforeunload ”事件(有时会被禁用),以及浏览器允许弹出窗口或消息框以及从该事件返回false以防止页面更改的能力,然后就可以了。
例如,在启用了Javascript的任何stackoverflow页面上开始键入注释,然后离开该页面。
答案 2 :(得分:1)
这对我有用:
function closeWin(){
var exit = confirm("Do you want to leave this window?");
if(exit==true){
//do something before closing;
}
}
body onbeforeunload="closeWin()"
答案 3 :(得分:1)
文档here鼓励您在onbeforeunload
上收听window
事件和/或添加事件监听器。
window.addEventListener('beforeunload', function(e) {}, false);
您还可以使用功能或功能参考填充.onunload
的{{1}}或.onbeforeunload
属性。< / p>
虽然浏览器的行为没有标准化,但功能可能会返回一个值,浏览器在确认是否离开页面时会显示该值。
答案 4 :(得分:0)
这也适用,除非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; ?>' });
});