posts - 108,comments - 56,trackbacks - 0

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

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

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

             另外還可以用來在頁面關(guān)閉的時(shí)候關(guān)閉session,代碼如下(注:用window.screenLeft > 10000 來區(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> 
          posted on 2007-05-30 16:18 破繭而出 閱讀(2657) 評(píng)論(3)  編輯  收藏 所屬分類: JavaScript

          FeedBack:
          # re: Onunload與Onbeforeunload
          2007-08-06 17:32 | 山水郎
          呵呵,多謝了
          找了小半天了,總算找到禁用關(guān)閉的方法了
            回復(fù)  更多評(píng)論
            
          # re: Onunload與Onbeforeunload
          2007-09-07 09:19 | 阿里巴巴
          不錯(cuò)。 非常實(shí)用  回復(fù)  更多評(píng)論
            
          # re: Onunload與Onbeforeunload
          2007-09-07 17:53 | leeight
          window.screenLeft???  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 长泰县| 万宁市| 河北省| 韩城市| 西乌| 丰宁| 福鼎市| 特克斯县| 龙海市| 平度市| 东平县| 达孜县| 东莞市| 岳普湖县| 克拉玛依市| 精河县| 康平县| 潞城市| 凯里市| 孝昌县| 合肥市| 子洲县| 博白县| 宁武县| 泾川县| 庐江县| 威信县| 龙口市| 类乌齐县| 瑞金市| 益阳市| 湘乡市| 大姚县| 成安县| 韩城市| 芒康县| 长武县| 南京市| 鹰潭市| 吴江市| 阿城市|