在用戶點擊瀏覽器關閉按鈕時需要給出提示,確認退出時就需要監聽瀏覽器的關閉事件了,
<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>