最近在作一個測評系統,涉及到防止用戶半途有意或者無心退出測評,須要在關閉子窗口時確認關閉操做,並在確認後讓父窗口執行跳轉的事件。這些功能能夠經過window的onunload和onbeforeunload實現。javascript
onunload,onbeforeunload都是在刷新或關閉時調用,能夠在<script>腳本中經過window.onunload來指定或者在<body>裏指定。區別在於onbeforeunload在onunload以前執行,它還能夠阻止onunload的執行。java
onbeforeunload也是在頁面刷新或關閉時調用,onbeforeunload是正要去服務器讀取新的頁面時調用,此時還沒開始讀取;而onunload則已經從服務器上讀到了須要加載的新的頁面,在即將替換掉當前頁面時調用。onunload是沒法阻止頁面的更新和關閉的。而 onbeforeunload 能夠作到。服務器
<script type="text/javascript"> <!-- window.onbeforeunload = onbeforeunload_handler; function onbeforeunload_handler(){ var warning="確認退出?"; return warning; } window.onunload = onunload_handler; function onunload_handler(){ window.dialogArguments.location = 'mzcplogin.aspx'; } // --> </script>