>  기사  >  웹 프론트엔드  >  js를 사용하여 페이지가 새로 고쳐졌는지 닫혔는지 확인하는 방법(onbeforeunload 및 onunload 이벤트)_javascript 기술

js를 사용하여 페이지가 새로 고쳐졌는지 닫혔는지 확인하는 방법(onbeforeunload 및 onunload 이벤트)_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:52:181320검색

Onunload 및 onbeforeunload는 새로 고치거나 닫을 때 호출되며 <script> 스크립트에서 window.onunload를 통해 지정하거나 <body>에 지정할 수 있습니다. 차이점은 onbeforeunload가 onunload보다 먼저 실행되고, onunload의 실행도 방지할 수 있다는 점입니다. <br>Onbeforeunload는 페이지가 새로 고쳐지거나 닫힐 때도 호출됩니다. Onbeforeunload는 새 페이지를 읽기 위해 서버로 이동할 때 호출되지만 onunload가 로드해야 하는 새 페이지를 읽는 동안 아직 읽기를 시작하지 않았습니다. 현재 페이지가 교체되려고 할 때 호출됩니다. Onunload는 페이지가 업데이트되고 닫히는 것을 막을 수 없습니다. 그리고 Onbeforeunload가 그것을 할 수 있습니다. <br><br>Onload는 페이지가 로드될 때만 실행됩니다. <br>페이지가 닫힐 때 먼저 Onbeforeunload가 실행되고, 마지막으로 onunload가 실행됩니다. <br>Onbeforeunload가 먼저 실행되고, 마지막으로 onload가 실행됩니다. 페이지가 새로 고쳐질 때 실행됩니다. <br><br><strong>1. onbeforeunload 이벤트: </strong> <br> 설명: Firefox와 IE는 현재 세 가지 주요 주류 브라우저에서 onbeforeunload 이벤트를 지원하지만 Opera는 아직 지원하지 않습니다. <br> 사용법: <br> ·Object.onbeforeunload = handler <br> ·<element onbeforeunload = “handler” … ></element> <br> 설명: <br> 이벤트가 트리거되면 메시지가 나타납니다. 확인 팝업이 나타나고 대화 상자를 취소합니다. 확인하면 페이지에서 나가게 됩니다. 취소하면 이 페이지에 계속 남게 됩니다. 처리기는 대화 상자에 표시된 텍스트로 반환 값을 설정할 수 있습니다. <br><br> 발생 원인: <br> ·브라우저 창을 닫습니다<br> ·주소 표시줄이나 즐겨찾기를 통해 다른 페이지로 이동할 때 <br> ·돌아가기, 앞으로, 새로고침, 새로고침 중 하나를 클릭할 때 홈페이지 <br> ·다른 페이지로 이동하는 URL 링크를 클릭했을 때<br> ·다음 이벤트 중 하나를 호출할 때: 클릭, 문서 쓰기, 문서 열기, 문서 닫기, 창 닫기, 창 탐색, 창 탐색및찾기, 위치 바꾸기, 위치 새로고침, 양식 제출 <br> ·창 열기를 사용하여 페이지를 열고 이 페이지의 창 이름을 열 페이지에 전달합니다. <br> ·location.href의 값을 재할당할 때. <br> ·입력 유형="제출" 버튼을 통해 지정된 작업이 포함된 양식을 제출하는 경우. <br> 다음 요소에서 사용할 수 있습니다: <br> ·BODY, FRAMESET, window <br> 플랫폼 지원: <br> IE4 /Win, Mozilla 1.7a, Netscape 7.2, Firefox0.9 <br> 예: <br></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="88705" class="copybut" id="copybut88705" onclick="doCopy('code88705')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code88705"> <br> <html xmlns="http://www .w3.org/ 1999/xhtml"> <br> <head> <br> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <br> <title>onbeforeunload Test</title> <br> <script> <br> function checkLeave(){ <br> event.returnValue="현재 페이지에서 나가시겠습니까?" <br> } > </script>
 
 
 
 2. onunload 이벤트

사용법:

·object.onbeforeunload = handler
· 설명:
onunload 이벤트는 사용자가 닫을 때 트리거됩니다. 페이지.

발생 원인:
·브라우저 창을 닫습니다
·주소 표시줄이나 즐겨찾기를 통해 다른 페이지로 이동할 때
·돌아가기, 전달, 새로고침, 홈페이지 중 하나를 클릭할 때
·다른 페이지로 이동하는 URL 링크를 클릭한 경우
·다음 이벤트 중 하나를 호출하는 경우: 클릭, 문서 쓰기, 문서 열기, 문서 닫기, 창 닫기, 창 탐색, 창 NavigateAndFind, 위치 바꾸기, 위치 새로고침, 양식 제출
 ·창 열기를 사용하여 페이지를 열고 이 페이지의 창 이름을 열 페이지에 전달합니다.
 ·location.href의 값을 재할당할 때.
 ·입력 유형="제출" 버튼을 통해 지정된 작업이 포함된 양식을 제출하는 경우.
예:




코드 복사
코드는 다음과 같습니다.

 
 
 
 onunload test
 <script> <br> function checkLeave(){ <br> alert("환영합니다. "); <br> } <br> </script>
 
 
 

좋은 방법입니다. 페이지가 실제로 닫히고 새로 고쳐졌는지 확인하려면:

코드 복사 코드는 다음과 같습니다.
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX> ;document.body.clientWidth && event.clientY < 0 || 이벤트 .altKey){
alert("브라우저를 닫았습니다.");
}else{
alert("페이지를 새로 고치는 중입니다.")
}
}

onbeforeunload 이벤트가 발생했을 때 마우스가 닫기 버튼을 클릭했는지, 아니면 ALT F4를 눌러 웹 페이지를 닫는지 확인하는 코드입니다. 그렇지 않으면 시스템이 웹 페이지를 닫는 것으로 간주됩니다. 시스템이 웹 페이지를 새로 고치는 것으로 간주됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:js에서 중국어 숫자와 문자를 판별하는 정규 표현식(예)_javascript 기술다음 기사:js에서 중국어 숫자와 문자를 판별하는 정규 표현식(예)_javascript 기술

관련 기사

더보기