사용자 의 온라인 상 태 를 판단 하 는 onbeforeunload 이벤트
1554 단어 온라인 상태onbeforeunload
<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 로 이벤트.alKey 를 통 해 이벤트 가 발생 했 을 때 ALT 키 가 눌 렸 는 지 판단 할 수 있 으 며,이로써 ALT+F4 가 창 을 닫 을 때 가 아 닌 지 판단 할 수 있다.그러나 문제 도 있 습 니 다.특수 한 왼쪽 테 마 를 사용 할 때 단 추 를 닫 으 면 터치 할 수 있 는 좌표 수 치 는 반드시 창 너비 보다 작 지 않 기 때문에 위의 예 에서 window.event.clientX>document.body.client Width 라 는 조건 을 사용 하지 않 아 도 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
onbeforeunload 이벤트 검사 창을 새로 고치거나 닫았는지 확인하십시오.onunload, onbeforeunload는 페이지를 새로 고치거나 닫을 때 호출됩니다. onbeforeunload는 페이지를 새로 고치거나 닫기 전에 터치합니다. 브라우저는 서버에 새 페이지를 읽으라고 요청하지 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.