關閉瀏覽器時退出登陸

關閉瀏覽器響應的js代碼以下:javascript

head中調用jsjava

<script >ajax

 window.onunload = function(){瀏覽器

 if(self.screenTop > 9000) {異步

  Out();spa

 }對象

}事件

</script>ip

body中添加js方法以下:string

<script language="JavaScript" type="text/javascript"> 

function Out()

{ PageMethods.LogOut(GetResult);}

function GetResult(Result)

{  }

</script>

其中在後臺添加方法:

  [WebMethod] 這個須要引用什麼程序不知道

        public static string LogOut()

        {

            MembershipUser mu = Membership.GetUser();

   mu.LastActivityDate = mu.LastActivityDate.Subtract(new TimeSpan                                       (0,Membership.UserIsOnlineTimeWindow + 1, 0));

            Membership.UpdateUser(mu);

            return "true";}

總結:當用戶點擊關閉瀏覽器時(算是字,而不是按鈕),利用ajax方法,異步調用後臺的方法,讓用戶及時退出,這樣在統計在線用戶數量時,能獲得準確的數字。

如下是對瀏覽器關閉事件的解釋:

if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)

{要在關閉窗口時觸發一個事件,咱們會想到window對象提供了兩個事件:onUnloaddocument被卸載觸發)和onBerforUnload(被卸載前觸發),由於它們是針對document的,當document被卸載或被卸載前觸發。但這兩個事件在刷新時也會觸發,因此咱們要採用什麼方法來屏蔽除了關閉窗口操做之外而觸發的onUnloadonBerforUnload事件從而執行裏面的操做呢? 下面是從網上搜到的和你們一塊兒分享。 

<script> 

window.onunload = function(){if(self.screenTop>9000)alert('該窗口已經被關閉!')} 

</script> 

或 

<script> 

window.onunload = function(){if(self.screenLeft>9000)alert(該窗口已經被關閉!.')} 

</script> 

下面是對這兩個window的屬性的解釋: 

window.screenTop 

獲取瀏覽器客戶區左上角相對於屏幕左上角的 座標 

screenTop>後面的數字必須大於你顯示分辯率中的高度 

好比,800*600, 這個數得大於600 

window.screenLeft 

獲取瀏覽器客戶區左上角相對於屏幕左上角的 座標 

screenLeft>後面的數字必須大於你顯示分辯率中的寬度 

好比,800*600, 這個數得大於800 

一般這兩個值設爲900

PageMethods 須要ScriptManager.EnablepageMethods="true"