상세 컨텐츠

본문 제목

팝업창 자동 닫기, 다른 창 이동시 자동닫기, 팝업창에서 다른 브라우저나 창으로 이동금지

IT공부방/jQuery, ajax, java

by 동해둘리 2019. 8. 14. 10:58

본문

반응형

팝업창자동닫기 다른창 이동금지

 

팝업창을 사용하여 어떤 정보를 표출할 때, 해당 팝업창에서 사용자 입력 등의 특정 작업이 끝나기 전에 다른 창으로 이동을 막고 싶은 경우가 있습니다. 예를들어 온라인으로 시험을 본다거나, 퀴즈를 푸는데 다른 브라우저를 띄워 검색하는것을 막고 싶은 경우 등입니다.

 

윈도우가 포커스를 잃을때를 잡으면 됩니다

 

<html lang="ko">

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />

        <title>

 

        </title>

        <script language = "javascript">

            function ShowTestRoom()

            {

                window.open("./testpage.html", 'TEST', 'height=700,width=1000,top=0,left=0, fullscreen=yes');

            }

        </script>

    </head>

    <body>

        <input type = "button" value = " 창 띄우기 " onClick = "javascript:ShowTestRoom()">

    </body>

</html>

 

 

우선, 위와 같이 [창 띄우기] 라는 페이지를 만들고, 버튼 클릭시 새로운 창이 뜨게 만들었습니다.

 

 

<!DOCTYPE html>

<html lang="ko">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

<title></title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

</head>

<body allowfullscreen>

<h1>

    본 페이지는 포커스를 잃게되면 자동으로 닫힙니다

</h1>

<script>

$(window).on("blur", function () {

        self.close();

});

</script>

</body>

</html>

 

팝업내에 보여지는 페이지에는 위와 같이 window의 onblur 이벤트에 윈도우를 닫는 코드를 넣어두면 됩니다. 

 

 

만약, 윈도우를 이동하거나 다른 창을 띄우거나 할때 바로 close 하지 않고, 경고메시지를 뿌려주려면 onblur 이벤트 내에서 alert() 등을 한 후에 close 유무를 정하면 되겠습니다.

 

 

 

 

 

반응형

관련글 더보기

댓글 영역