關閉瀏覽器響應的js代碼以下:javascript
在head中調用js:java
<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對象提供了兩個事件: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"