整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          實現關閉瀏覽器標簽頁退出登錄

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

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

          通過上面介紹可以發現這兩種事件都是刷新或關閉時調用的,無法區分是在刷新還是在關閉

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

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

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

          已經找到解決方法了,直接開干:

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

          php關閉瀏覽器自動退出登錄_退出瀏覽器登錄帳號_退出瀏覽器退出登錄php

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

          想必看完代碼也應該發現其中存在著缺陷,退出登錄是在用戶關閉標簽頁后,重新訪問程序頁面時才觸發退出登錄,而不是在點擊關閉頁面時就觸發的,但是在感官上關閉標簽頁后再次訪問是退出登錄狀態的

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

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

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


          主站蜘蛛池模板: 国产美女精品一区二区三区| 四虎永久在线精品免费一区二区| 亚洲日韩国产一区二区三区在线| 精品国产一区二区三区| 中文字幕一区二区三区有限公司 | 无码人妻精一区二区三区| 福利一区福利二区| 国产成人AV一区二区三区无码| 中文字幕一区视频一线| 99久久人妻精品免费一区| 精品一区二区三区波多野结衣| eeuss鲁片一区二区三区| 无码国产伦一区二区三区视频| 男人的天堂精品国产一区| 波多野结衣在线观看一区 | 精品人伦一区二区三区潘金莲| 亚洲无线码在线一区观看| 日本不卡免费新一区二区三区| 亚洲AV乱码一区二区三区林ゆな| 三上悠亚一区二区观看| 日韩欧国产精品一区综合无码| 国产一区二区三区久久精品| 性无码免费一区二区三区在线 | 国产视频一区二区在线观看| 精品乱码一区二区三区在线| 北岛玲在线一区二区| 国产精品无码一区二区三区毛片| 日韩精品电影一区| 色欲精品国产一区二区三区AV| 色欲AV蜜桃一区二区三| 久久国产免费一区| 日韩国产一区二区| 国内精品一区二区三区最新| 久久久99精品一区二区| 中文字幕人妻第一区| 精品久久一区二区| 国产激情一区二区三区| 无码一区二区三区中文字幕| 国产成人久久精品一区二区三区| 国产在线一区二区杨幂| 亚洲色精品VR一区区三区|