在用户点击浏览器关闭按钮时需要给出提示,确认退出时就需要监听浏览器的关闭事件了,
<script type="text/javascript"> <!-- window.onbeforeunload = onbeforeunload_handler; window.onunload = onunload_handler; function onbeforeunload_handler(){ var warning="确认退出?"; return warning; } function onunload_handler(){ var warning="谢谢光临"; alert(warning); } // --> </script>
在用户确定关闭窗体后,页面中有一个表单需要提交,但是发现当表单提交时又会触发 window.onbeforeunload事件,也就是说当关闭窗口和提交表单时会弹出两次相同的提示信息,所以代码调整如下:
JavaScript代码:
<script type="text/javascript"> <!-- var MSG_UNLOAD="内容没有保存,是否确认关闭窗口!"; var UnloadConfirm = {}; UnloadConfirm.set = function(confirm_msg){ window.onbeforeunload = function(event){ event = event || window.event; event.returnValue = confirm_msg; } } UnloadConfirm.clear = function(){ window.onbeforeunload = function(){}; } function onunload_handler(){ UnloadConfirm.clear(); document.forms[0].submit(); } function closeWin(){ window.close(); } function initPage(){ UnloadConfirm.set(MSG_UNLOAD); } initPage(); window.onunload = onunload_handler; // --> </script>