Nice programing

JS : 자식 창이 닫힐 때 듣기

nicepro 2021. 1. 10. 19:55
반응형

JS : 자식 창이 닫힐 때 듣기


이 방법으로 페이스 북 공유를 위해 자식 창을 엽니 다.

window.open(sharingUrl,'','toolbar=0,status=0,width=626,height=436');

사용자가 공유 또는 닫기를 클릭하면 창이 자동으로 닫힙니다 ... 이러한 이벤트에 리스너를 추가하는 방법이 있습니까?


를 호출 할 때 자식 창에 대한 참조를 저장 window.open()하면를 사용하여 폴링하여 속성을 setInterval()사용하여 창이 아직 열려 있는지 확인할 수 있습니다 window.closed. 아래 예는 초당 두 번 확인합니다.

var child = window.open('http://google.com','','toolbar=0,status=0,width=626,height=436');
var timer = setInterval(checkChild, 500);

function checkChild() {
    if (child.closed) {
        alert("Child window closed");   
        clearInterval(timer);
    }
}

기타 참고 사항 : 자식 창에서 html을 제어 할 수있는 상황이 발생하면 onbeforeunload 이벤트를 사용 하여 부모 창에 경고 할 수 있습니다.


향후 참조를 위해 다음이 필요하지 않은 다른 솔루션을 공유하고 싶습니다 setInterval.

var child = window.open('http://google.com','','toolbar=0,status=0,width=626,height=436');
child.onunload = function(){ console.log('Child window closed'); };

이것은 잘 작동합니다

   <html>
<head>
<title>Detecting browser close in IE</title>
<script type="text/javascript">

window.onbeforeunload = function(){ myUnloadEvent(); }
function myUnloadEvent() {
    alert ('You can have Ur Logic Here ,');

}

</script>
</head>
</script>
</head>
<body >
<h1>Close the Window now</h1>
</body>
</html>

참조 URL : https://stackoverflow.com/questions/5712195/js-listen-when-child-window-is-closed

반응형