posts - 108,comments - 56,trackbacks - 0

              Onunload,onbeforeunload都是在刷新或關閉時調(diào)用,可以在<script>腳本中通過window.onunload來指定或者在<body>里指定。區(qū)別在于onbeforeunload在onunload之前執(zhí)行,它還可以阻止onunload的執(zhí)行。

              Onbeforeunload也是在頁面刷新或關閉時調(diào)用,Onbeforeunload是正要去服務器讀取新的頁面時調(diào)用,此時還沒開始讀取;而onunload則已經(jīng)從服務器上讀到了需要加載的新的頁面,在即將替換掉當前頁面時調(diào)用。Onunload是無法阻止頁面的更新和關閉的。而 Onbeforeunload 可以做到。曾經(jīng)做一個考試系統(tǒng),涉及到防止用戶半途退出考試(有意或者無意),代碼如下:

          <body onbeforeunload=" checkLeave()">
          <script>
          function checkLeave(){
              event.returnValue
          ="確定放棄考試?(考試作廢,不記錄成績)";
          }
          </script>
          這樣可以讓用戶確認是否要退出考場,其實BLOGJAVA在用戶編寫B(tài)LOG時,如果不保存而跳轉到其他頁面,也會有一個確認的提示(防止誤操作),也是用到Onbeforeunload。

             另外還可以用來在頁面關閉的時候關閉session,代碼如下(注:用window.screenLeft > 10000 來區(qū)分關閉和刷新操作):
          <body onbeforeunload=" closeSession()">
          <script>
          function closeSession (){
              
          //關閉(刷新的時候不關閉Session)
              if(window.screenLeft>10000){
                 
          //關閉Session的操作(可以運用AJAX)
              }
          }
          </script> 
          posted on 2007-05-30 16:18 破繭而出 閱讀(2658) 評論(3)  編輯  收藏 所屬分類: JavaScript

          FeedBack:
          # re: Onunload與Onbeforeunload
          2007-08-06 17:32 | 山水郎
          呵呵,多謝了
          找了小半天了,總算找到禁用關閉的方法了
            回復  更多評論
            
          # re: Onunload與Onbeforeunload
          2007-09-07 09:19 | 阿里巴巴
          不錯。 非常實用  回復  更多評論
            
          # re: Onunload與Onbeforeunload
          2007-09-07 17:53 | leeight
          window.screenLeft???  回復  更多評論
            
          主站蜘蛛池模板: 晋江市| 清流县| 拉孜县| 邢台市| 乐清市| 曲沃县| 南江县| 大连市| 方城县| 昌吉市| 靖江市| 白水县| 辽源市| 垫江县| 太白县| 丰宁| 青铜峡市| 湖南省| 南漳县| 大余县| 泗阳县| 洞头县| 略阳县| 祁东县| 乐昌市| 锡林郭勒盟| 镇远县| 蒙山县| 永清县| 荣昌县| 佳木斯市| 临颍县| 阿克陶县| 开封县| 娄烦县| 乐陵市| 周至县| 云南省| 富锦市| 灯塔市| 二手房|