国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

判斷用戶的在線狀態 onbeforeunload事件

2019-11-20 23:55:02
字體:
來源:轉載
供稿:網友
獲得用戶登陸狀態不用說了,判斷離開的話就有一點問題了,如果說用戶都是按照設計者的規定觸發退出事件離開的話那就沒什么難度了,但是用戶的離開方式多種多樣,怎么在用戶非法離開的時候即時的判斷離開呢?最常見的非法離開就是關閉瀏覽器了。
復制代碼 代碼如下:

<BODY onbeforeunload="body_onUnload()">
<script>
window.onbeforeunload = function() {
if (window.event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
alert("瀏覽器關閉");
}
else
{
alert("刷新或者跳轉到其他頁");
}
}
</script>
</BODY>

以上是一個片段,BODY 的 UNLOAD和onbeforeunload事件會在瀏覽器清除所加載的信息時被觸發,也就是說頁面在回送、重定向或被關閉的時候就會觸發 ,通過這個事件加上JAVASCRIPT處理就可以實現非法關閉瀏覽器也即時統計在線人數了。

但是有個問題,怎么判斷用戶是關閉還是刷新、回送、重定向呢?

window.event.clientX和window.event.clientY 將捕捉當前事件發生時鼠標相對與窗口的桌面坐標,通常情況下IE的關閉按鈕都會在頁面的右上部分,所以點關閉的時候鼠標的坐標的Y坐標一定是小于0的,另外,鼠標坐標的X方向上坐標數值會大于窗體寬度,所以,從這兩個條件就可以判斷鼠標是不是在點關閉按鈕引發的onbeforeload事件。
還有一種關閉方法是ALT+F4 ,通過event.altKey就可以判斷,事件發生的時候ALT鍵是不是被按下了,這樣也就判斷出了是不是時候ALT+F4來關閉窗口。

不過也出現一個問題,當使用一些特殊的左面主題的時候 關閉按鈕可觸發的坐標數值不一定小于窗體寬度,所以,上面例子中的window.event.clientX>document.body.clientWidth這個條件可以不要.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 启东市| 鸡东县| 花莲市| 南宫市| 平潭县| 外汇| 诏安县| 宜章县| 马尔康县| 平山县| 兴国县| 闻喜县| 论坛| 乳源| 班戈县| 博爱县| 宁安市| 临澧县| 抚顺县| 桃园市| 云浮市| 舟山市| 互助| 磐石市| 黎川县| 五家渠市| 西昌市| 新化县| 浠水县| 仁寿县| 哈巴河县| 阜南县| 长乐市| 定兴县| 景东| 石城县| 定日县| 彩票| 永康市| 津市市| 天峨县|