posts - 108,comments - 56,trackbacks - 0

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

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

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

             另外還可以用來在頁面關閉的時候關閉session,代碼如下(注:用window.screenLeft > 10000 來區分關閉和刷新操作):
          <body onbeforeunload=" closeSession()">
          <script>
          function closeSession (){
              
          //關閉(刷新的時候不關閉Session)
              if(window.screenLeft>10000){
                 
          //關閉Session的操作(可以運用AJAX)
              }
          }
          </script> 
          posted on 2007-05-30 16:18 破繭而出 閱讀(2661) 評論(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???  回復  更多評論
            
          主站蜘蛛池模板: 郸城县| 临颍县| 武陟县| 仪征市| 锡林浩特市| 南昌市| 长宁区| 富锦市| 柘荣县| 英吉沙县| 富民县| 英山县| 甘肃省| 巨鹿县| 长岛县| 洛宁县| 东至县| 年辖:市辖区| 棋牌| 武清区| 阿图什市| 九寨沟县| 江永县| 右玉县| 海口市| 东海县| 太白县| 龙南县| 富阳市| 且末县| 恩平市| 安西县| 繁昌县| 名山县| 卢龙县| 大石桥市| 南乐县| 中方县| 武鸣县| 蒙山县| 邵东县|