본문 바로가기
JavaScript

팝업창 종료시점에 이벤트 처리하는 방법

by 보니스 2017. 7. 27.
반응형

다음의 소스로 팝업창 종료 시점에 이벤트를 처리할 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
var openDialog = function(uri, name, options, closeCallback) {
    var win = window.open(uri, name, options);
    var interval = window.setInterval(function() {
        try {
            if (win == null || win.closed) {
                window.clearInterval(interval);
                closeCallback(win);
            }
        }
        catch (e) {
        }
    }, 1000);
    return win;
};


setInterval을 이용하여 1초마다 한번씩 win 객체에 대하여 검사를 한다.

만약 win 객체가(팝업창) 닫히게 되면 콜백 함수를 실행한다.


다음처럼 사용할 수 있다.

1
2
3
4
5
6
7
var uri = '오픈 될 주소';
var popupName = '팝업 창 이름';
var options = '옵션';
 
openDialog(uri, popupName, options, function(win) {
    //팝업창이 닫히게 될 때 실행 된 내용
});


출처: http://yangyag.tistory.com/157 [Hello Brother!]