Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 91精品导航在线观看,国内精品线在线观看,亚洲一区二区在线播放

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          實現(xiàn)關(guān)閉瀏覽器標(biāo)簽頁退出登錄

          公司的一個項目突然要加一個在關(guān)閉瀏覽器標(biāo)簽頁退出登錄的功能,當(dāng)時首先想到的就是獲取瀏覽器標(biāo)簽頁的關(guān)閉事件然后執(zhí)行退出登錄方法,瀏覽器標(biāo)簽頁的關(guān)閉事件有和:

          onunload、onbeforeunload都是在刷新或關(guān)閉時調(diào)用,可以在<script>腳本中通過window.onunload來指定或者在里指定。
          區(qū)別在于onbeforeunload在onunload之前執(zhí)行,它還可以阻止onunload的執(zhí)行。
          //過多的就不介紹了,想具體了解的可以網(wǎng)上搜索。

          通過上面介紹可以發(fā)現(xiàn)這兩種事件都是刷新或關(guān)閉時調(diào)用的,無法區(qū)分是在刷新還是在關(guān)閉

          在網(wǎng)上一通搜索找到了一種解決方法,但是只適用于Chrome瀏覽器(文章末尾已貼出代碼),我們項目是必須適配IE瀏覽器的......找了很多方法,但是在IE瀏覽器中都無法使用,感覺通過事件來觸發(fā)這條路暫時有點走不通,那就發(fā)散思維想想其它方法來實現(xiàn),既然點擊事件暫時無法實現(xiàn),那可不可以通過在瀏覽器存儲數(shù)據(jù)來判斷是否退出登錄了呢?然后就想到了

          sessionStorage是Html5的特性,IE7以下瀏覽器不支持 
          sessionStorage生命周期為當(dāng)前窗口或標(biāo)簽頁
          一旦窗口或標(biāo)簽頁被永久關(guān)閉了,那么所有通過sessionStorage存儲的數(shù)據(jù)也就被清空了

          看完介紹很符合功能需求啊,其它瀏覽器也都支持,而且IE8以上瀏覽器也支持,完美

          已經(jīng)找到解決方法了,直接開干:

          1、首先在登錄成功后存儲一個數(shù)據(jù)
          sessionStorage.setItem("browser_logout","ok");
          2、在程序頁面中判斷browser_logout是否存在
          <script type="text/javascript">
          

          php關(guān)閉瀏覽器自動退出登錄_退出瀏覽器登錄帳號_退出瀏覽器退出登錄php

          if(sessionStorage.getItem("browser_logout") != "ok"){ //退出登錄 $.get("/logout", function(){}); } </script> 3、點擊退出登錄時清除存儲的數(shù)據(jù) <script type="text/javascript"> function logout() { //退出登錄后將browser_logout移除 sessionStorage.removeItem("browser_logout"); //退出登錄 $.get("/logout", function(){}); } </script>

          想必看完代碼也應(yīng)該發(fā)現(xiàn)其中存在著缺陷,退出登錄是在用戶關(guān)閉標(biāo)簽頁后,重新訪問程序頁面時才觸發(fā)退出登錄,而不是在點擊關(guān)閉頁面時就觸發(fā)的,但是在感官上關(guān)閉標(biāo)簽頁后再次訪問是退出登錄狀態(tài)的

          暫時只能想到這種解決方法,如果你有好的解決方法請分享一下,謝謝!

          貼一下適用于Chrome瀏覽器的代碼:

          var _beforeUnload_time = 0, _gap_time = 0;
          window.onunload = function (){
              _gap_time = new Date().getTime() - _beforeUnload_time;
              if(_gap_time <= 5) {//瀏覽器關(guān)閉
                  clearCookie();
              }else{//瀏覽器刷新-chrome刷新
                  console.log(document.domain);
                  return confirm("確定要離開本系統(tǒng)么?");
              }
          };
          window.onbeforeunload = function (){
              _beforeUnload_time = new Date().getTime();
          };
          function clearCookie() {
              //退出登錄
              $.get("/logout", function(){});
          }


          主站蜘蛛池模板: 精品一区二区久久久久久久网精| 亚洲一区二区三区影院| 亚洲人成人一区二区三区| 日本精品无码一区二区三区久久久| 日韩熟女精品一区二区三区| 亚洲一区二区三区乱码在线欧洲| 国产一区二区精品尤物| 亚洲a∨无码一区二区| 无码人妻精品一区二区三区66| 成人在线视频一区| 国产精品综合一区二区三区| 亚洲AV一区二区三区四区| 亚洲综合在线成人一区| 射精专区一区二区朝鲜| 久久久国产精品亚洲一区| 一区二区视频在线播放| 一区二区三区观看免费中文视频在线播放| 一区二区三区四区在线播放| 亚洲午夜精品第一区二区8050| 国产福利无码一区在线| 性盈盈影院免费视频观看在线一区| 亚洲视频一区在线播放| 国产乱人伦精品一区二区| 呦系列视频一区二区三区| 无码av免费毛片一区二区| 亚洲精品国产suv一区88| 成人精品一区二区三区校园激情| 精品一区二区三区| 国产一区二区三区内射高清| 丝袜美腿高跟呻吟高潮一区| 一区二区不卡视频在线观看| 久久一区二区三区免费| 国产在线无码视频一区二区三区| 熟女精品视频一区二区三区| 亚洲一区无码中文字幕乱码| 欧美激情国产精品视频一区二区 | 日韩精品无码Av一区二区| 国产suv精品一区二区6| 国产成人精品一区在线| 日韩精品在线一区二区| 亚洲第一区二区快射影院|