實現瀏覽器關閉登陸的使用者自動退出
阿新 • • 發佈:2019-01-27
關閉瀏覽器響應的js程式碼如下: 在head中呼叫js: <script > window.onunload = function(){ if(self.screenTop > 9000) { Out(); } } </script> 在body中新增js方法如下: <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物件提供了兩個事件:onUnload(document被解除安裝觸發)和onBerforUnload(被解除安裝前觸發),因為它們是針對document的,當document被解除安裝或被解除安裝前觸發。但這兩個事件在重新整理時也會觸發,所以我們要採用什麼方法來遮蔽除了關閉視窗操作以外而觸發的onUnload和onBerforUnload事件從而執行裡面的操作呢? 下面是從網上搜到的和大家一起分享。 <script> window.onunload = function(){if(self.screenTop>9000)alert('該視窗已經被關閉!')} </script> 或 <script> window.onunload = function(){if(self.screenLeft>9000)alert(該視窗已經被關閉!.')} </script> 下面是對這兩個window的屬性的解釋: window.screenTop 獲取瀏覽器客戶區左上角相對於螢幕左上角的 y 座標 screenTop>後面的數字必須大於你顯示分辯率中的高度 比如,800*600, 這個數得大於600 window.screenLeft 獲取瀏覽器客戶區左上角相對於螢幕左上角的 x 座標 screenLeft>後面的數字必須大於你顯示分辯率中的寬度 比如,800*600, 這個數得大於800 通常這兩個值設為900 PageMethods 需要ScriptManager.EnablepageMethods="true"