Programing/JavaScript

브라우저 종료 이벤트 처리, 브라우저 새로고침 이벤트 처리

리커니 2019. 6. 17.
반응형

브라우저 종료 이벤트 처리, 브라우저 새로고침 이벤트 처리

웹소켓 클라이언트의 경우 서버에 접속 후 브라우저를 닫거나 새로고침 할 때

서버의 Excetion을 발생 시킬 수 있습니다.

 

org.eclipse.jetty.io.EofException

Caused by: java.io.IOException: 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다

 

그래서 클라이언트는 브라우저의 닫힘이나 새로고침 시 이벤트를 감지해서

커넥션 종료나 로그아웃 처리를 해야 할 경우가 있는데요,

 

그럴 때 사용하는 것이 전역객체의 onbeforeunload 함수 입니다.

그리고 새로고침도 감지해야 할 경우가 있기 때문에

브라우저에서 새로고침에 사용되는 F5, Ctrl+F5, Ctrl+r 키 이벤트를 감지해야 합니다.

 
window.onbeforeunload = function(e){
    
}

 

document.onkeydown = function(e){
    /* F5, Ctrl+r, Ctrl+F5 */
    if(e.keyCode == 116 || e.ctrlKey == true && (e.keyCode == 82)){
        e.cancelBubble = true; 
        e.returnValue = false; 
        setTimeout(function(){
            window.location.reload();
        }, 1000);
        return false;
    }
}
 

이 함수들 사이에 로그아웃이나 클로즈 함수를 넣게 되면,

페이지가 닫히거나 새로고침시에 함수를 실행 할 수 있습니다.

반응형

댓글

💲 추천 글