Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Client Side Διαχωρισμός Browser Close Event από Browser Back/Forward Button Click Event

Îåêßíçóå áðü ôï ìÝëïò gstam78. Τελευταία δημοσίευση από το μέλος gstam78 στις 14-02-2018, 16:30. Υπάρχουν 0 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-02-2018, 16:30 78235

    Client Side Διαχωρισμός Browser Close Event από Browser Back/Forward Button Click Event

    Καλησπέρα σας,

    Ο παρακάτω javascript κώδικας που υπάρχει στη σελίδα: https://www.codeproject.com/Tips/154801/How-to-end-user-session-when-browser-closed τερματίζει το session του χρήστη όταν αυτός κάνει κάνει κλικ εκτός της σελίδας, δηλαδή όταν κλείνει τον browser, όταν κάνει refresh τη σελίδα, όταν πατάει είτε το Βack, είτε το Forward Button κ.ο.κ.. Το ερώτημα είναι αν μπορεί να γίνει κάποια προσθήκη στον παρακάτω javascript κώδικα, ώστε όταν γίνεται capture είτε το Back, είτε το Forward Button Click Event, η μεταβλητή clicked να παίρνει την τιμή true (clicked=true), ούτως ώστε να μην τερματίζεται σ' αυτές τις περιπτώσεις το session. Η απαίτηση είναι το session να τερματίζεται μόνο όταν κλείνει ο browser, ή το tab του browser που τρέχει η εφαρμογή:

    <script language="javascript" type="text/javascript">
        //<![CDATA[</span />
    
        var clicked = false;
        function CheckBrowser() {
            if (clicked == false) {
                //Browser closed
            }
            else {
                //redirected 
                clicked = false;
            }
        }
    
        function bodyUnload() {
    
            if (clicked == false)//browser is closed
            {
                var request = GetRequest();
    
                request.open("POST", "../LogOut.aspx", false);
                request.send();
                alert('This is close');
            }
        }
        function GetRequest() {
            var xmlhttp;
            if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            }
            else {// code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            return xmlhttp;
    } 
    </script>
    
    <body onunload="bodyUnload();" onclick="clicked=true;"><span style="font-size: 9pt;">  </span>
    Σας ευχαριστώ εκ των προτέρων.
    Δημοσίευση στην κατηγορία: , ,
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems