감청 브 라 우 저 종료 이벤트

사용자 가 브 라 우 저 닫 기 단 추 를 눌 렀 을 때 알림 이 필요 합 니 다. 종료 확인 시 브 라 우 저의 닫 기 이 벤트 를 감청 해 야 합 니 다.
 
Onunload 와 Onbeforeunload
Onunload, onbeforeunload 는 새로 고치 거나 닫 을 때 호출 되 며, < script > 스 크 립 트 에서 window. onload 를 통 해 지정 하거나 < body > 에서 지정 할 수 있 습 니 다.onbeforeunload 가 onunload 전에 실행 되 는 것 과 달리 onunload 의 실행 을 막 을 수 있 습 니 다.
Onbeforeunload 도 페이지 가 새로 고침 되 거나 닫 힐 때 호출 됩 니 다. Onbeforeunload 는 서버 에 가서 새로운 페이지 를 읽 으 려 고 할 때 호출 됩 니 다. 아직 읽 기 시작 하지 않 았 습 니 다.onunload 는 서버 에서 불 러 올 새로운 페이지 를 읽 었 습 니 다. 현재 페이지 를 바 꿀 때 호출 합 니 다.Onunload 는 페이지 의 업데이트 와 닫 기 를 막 을 수 없습니다.Onbeforeunload 는 할 수 있 습 니 다.사용자 가 중간 에 시험 에서 물 러 나 는 것 을 방지 하 는 시험 시스템 을 만 들 었 습 니 다. 코드 는 다음 과 같 습 니 다.
<script type="text/javascript">   
<!--     
    window.onbeforeunload = onbeforeunload_handler;   
    window.onunload = onunload_handler;   
    function onbeforeunload_handler(){   
        var warning="    ?";           
        return warning;   
    }   
       
    function onunload_handler(){   
        var warning="    ";   
        alert(warning);   
    }   
// -->   
</script>   

 
사용자 가 창 을 닫 는 것 을 확인 한 후에 페이지 에 제출 해 야 할 폼 이 있 습 니 다. 그러나 폼 을 제출 할 때 window. onbeforeunload 이벤트 가 발생 하 는 것 을 발견 하 였 습 니 다. 즉, 창 을 닫 고 폼 을 제출 할 때 같은 알림 정보 가 두 번 씩 나타 나 므 로 코드 조정 은 다음 과 같 습 니 다.
JavaScript 코드:
<script type="text/javascript">      
<!--   
      
    var MSG_UNLOAD="      ,        !";
    var UnloadConfirm = {};
    UnloadConfirm.set = function(confirm_msg){
    window.onbeforeunload = function(event){	
    event = event || window.event;	
    event.returnValue = confirm_msg;	
    }
       }
    UnloadConfirm.clear = function(){
    	window.onbeforeunload = function(){};
    }                    
    function onunload_handler(){      
        UnloadConfirm.clear();
        document.forms[0].submit();  
    }  
    function closeWin(){
    	window.close();
    } 
    
    function initPage(){
          UnloadConfirm.set(MSG_UNLOAD);
	 		 
     }
     initPage();
     window.onunload = onunload_handler;
// -->      
</script> 

 
HTML 코드:
 
 
 <input type="button" value="  " onclick="closeWin()"/>
 <form action="#"></form>

좋은 웹페이지 즐겨찾기