Onunload與Onbeforeunload
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
Onunload,onbeforeunload都是在刷新或關(guān)閉時(shí)調(diào)用,可以在<script>腳本中通過(guò)window.onunload來(lái)指定或者在<body>里指定。區(qū)別在于onbeforeunload在onunload之前執(zhí)行,它還可以阻止onunload的執(zhí)行。 Onbeforeunload也是在頁(yè)面刷新或關(guān)閉時(shí)調(diào)用,Onbeforeunload是正要去服務(wù)器讀取新的頁(yè)面時(shí)調(diào)用,此時(shí)還沒(méi)開(kāi)始讀?。欢鴒nunload則已經(jīng)從服務(wù)器上讀到了需要加載的新的頁(yè)面,在即將替換掉當(dāng)前頁(yè)面時(shí)調(diào)用。Onunload是無(wú)法阻止頁(yè)面的更新和關(guān)閉的。而Onbeforeunload 可以做到。曾經(jīng)做一個(gè)考試系統(tǒng),涉及到防止用戶半途退出考試(有意或者無(wú)意),代碼如下: <body onbeforeunload=" checkLeave()"> <script> function checkLeave(){ event.returnValue="確定放棄考試?(考試作廢,不記錄成績(jī))"; } </script> 這樣可以讓用戶確認(rèn)是否要退出考場(chǎng),其實(shí)BLOGJAVA在用戶編寫B(tài)LOG時(shí),如果不保存而跳轉(zhuǎn)到其他頁(yè)面,也會(huì)有一個(gè)確認(rèn)的提示(防止誤操作),也是用到Onbeforeunload。 另外還可以用來(lái)在頁(yè)面關(guān)閉的時(shí)候關(guān)閉session,代碼如下(注:用window.screenLeft > 10000 來(lái)區(qū)分關(guān)閉和刷新操作):<body onbeforeunload=" closeSession()">
<script> function closeSession (){ //關(guān)閉(刷新的時(shí)候不關(guān)閉Session) if(window.screenLeft>10000){ //關(guān)閉Session的操作(可以運(yùn)用AJAX) } } </script> 該文章在 2010/11/25 23:22:15 編輯過(guò) |
相關(guān)文章
正在查詢... |