搜尋

首頁  >  問答  >  主體

javascript - 監控使用者是否關閉瀏覽器離線

正在做一個需要驗證是否在線功能的web系統,對於在線情況我實在用表中添加一個在線字段1為在線,0為離線網站中有退出按鈕,點擊按鈕正常退出時將用戶表的在線欄位置0,清空session 退出網站沒問題,但是在使用者直接關閉視窗或瀏覽器後怎麼將使用者線上狀態修改為離線就無法做到了。目前嘗試用JS監控使用者是否關閉視窗或瀏覽器然後在關閉事件中加上退出方法 在網路上找的一些監控關閉瀏覽器的JS程式碼如下

<script type="text/javascript">  
    window.onbeforeunload = function(e) {
    e = e || window.event;
    var msg = "您确定要离开此页面吗?";
      
    // IE
    e.cancelBubble = true;
    e.returnValue = msg;
      
    // Firefox
    if(e.stopPropagation) {
        e.stopPropagation();
        e.preventDefault();
    }
     
    // Chrome / Safari
    return msg;
};
</script> 

其中onbeforeunload 或onload 等方法都無法判斷 關閉瀏覽器/刷新頁面/跳轉頁面的動作,不知道有沒有朋友有這方面的經驗,求支招

PHPzPHPz2736 天前776

全部回覆(3)我來回復

  • 迷茫

    迷茫2017-06-05 11:11:36

    每間隔1s通知服務期該客戶端在線,在服務端確認,如果失去客戶端聯繫,則確認離線。

    setInterval(function(){
        $.ajax({
             type: "GET",
             url: "server url",
             data: {isOnline:1},
             dataType: "json",
             success: function(data){
                        //客户端在线
                      }
         });
    }, 1000);

    回覆
    0
  • 滿天的星座

    滿天的星座2017-06-05 11:11:36

    用websocket

    回覆
    0
  • PHP中文网

    PHP中文网2017-06-05 11:11:36

    雷雷

    回覆
    0
  • 取消回覆