suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Überwachen Sie, ob der Benutzer den Browser offline schließt

Ich arbeite an einem Websystem, das überprüfen muss, ob es online ist. Ich habe der Benutzertabelle ein Online-Feld hinzugefügt. Es gibt eine Schaltfläche zum Beenden auf der Website Wenn Sie auf die Schaltfläche klicken, um den Vorgang normal zu beenden, wird das Online-Feld der Benutzertabelle auf 0 gesetzt. Das Löschen der Sitzung und das Verlassen der Website ist kein Problem, es ist jedoch nicht möglich, den Online-Status des Benutzers in „Offline“ zu ändern, nachdem der Benutzer die Website direkt geschlossen hat Fenster oder Browser. Ich versuche derzeit, JS zu verwenden, um zu überwachen, ob der Benutzer das Fenster oder den Browser schließt, und fügt dann dem Schließereignis eine Exit-Methode hinzu. Einige im Internet gefundene JS-Codes zum Überwachen des Schließens des Browsers sind wie folgt:

<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> 

Methoden wie onbeforeunload oder onload können die Aktionen zum Schließen des Browsers/Aktualisieren der Seite/Springen zur Seite nicht bestimmen. Bitte geben Sie mir einen Rat
PHPzPHPz2736 Tage vor778

Antworte allen(3)Ich werde antworten

  • 迷茫

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

    每间隔1s通知服务期该客户端在线,在服务端确认,如果失去客户端联系,则确认离线。

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

    Antwort
    0
  • 滿天的星座

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

    用websocket

    Antwort
    0
  • PHP中文网

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

    window.onbeforeunload = function () {
        window.event.returnValue = '';
    };

    Antwort
    0
  • StornierenAntwort