بستن session کاربر پس از بسته شدن مرورگر

پنجشنبه 19 شهریور 1394

در این مقاله یک راه تست شده و مطمئن برای اینکه بتوانیم session کاربر را هنگام بسته شدن مرورگر ، پایان دهیم. به شما ارائه می دهیم.

بستن session کاربر پس از بسته شدن مرورگر

چطور زمان Logoff سیستم را زمانی که مرورگر کاربر بسته می شود تعیین کنیم. یا چطور session کاربر را زمانی که مرورگر بسته می شود پایان دهیم.

این ها برخی از پرسش های متداولی هستندکه پرسیده می شوند. به طور معمول این نیاز هر برنامه کاربردی است.

نحوه استفاده از کد

1. ابتدا یک صفحه LogOut.aspx ایجاد کنید و در رویداد Page_Load، کد زیر را بنویسید.

protected void Page_Load(object sender, EventArgs e)
{  
  Session.Abandon();
} 

2. کد جاوا اسکریپت زیر را در صفحه خود یا Master Page بنویسید.

<script type="text/javascript">
 
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();    
        } 
   } 
 
   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>

3. کد زیر را در تگ body مربوط به Master Page بنویسید.

<body onunload="bodyUnload();" Onclick="clicked=true;">

 کد زیرکد نهایی در صفحه Master Page می باشد.

<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>
<form id="form1" runat="server">

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید