반응형

홈페이지를 돌아다니시다보면 팝업창을 클릭했을 때, 부모창으로 링크가 보여지고 팝업이 닫혀지는 효과가 있는데 그것을 구현하는 소스입니다.

 

01. 팝업창의 Head태그 안에 다음 스크립트를 넣으세요.

<script language="JavaScript" type="text/JavaScript">

<!--
function linkToOpener(URL){
if (window.opener && !window.opener.closed)
window.opener.location = URL;
window.close();
}
//-->
</script>

02. 다음과 같은 방식으로 팝업창에서 링크 설정

a href="javascript:linkToOpener('링크주소');"

윈도우 창과 다른 창과의 통신은 name속성으로 하게 되어 있습니다. 예를 들어 창을 띄울때 window.open("경로명", "윈도우이름");에서 윈도우 이름이 새롭게 만들어진 창의 이름이 됩니다. 그리고 이때 새로운 창을 만든 부모창을 opener window라고 합니다. 따라서 새로운 창과 부모창 간의 통신은 open window와 opener window간의 것이 되는 거죠.

스크립트를 보시면
window.opener && !window.opener.closed - 부모창이 존재하고 닫혀있지 않을때
window.opener.location - 부모창에서 이동할 주소
window.close(); - 창닫기

즉, 부모창이 존재하면 부모창에서 URL로 이동하고 열려 있는 창은 닫는다. 만약 부모창이 존재하지 않으면 팝업창은 그냥 닫혀 버립니다.


- 출처 : 지식인에서 soiyeon님의 답변 -
http://kin.naver.com/db/detail.php?d1id=1&dir_id=109&eid=zoGvuyHvmR50NZZqS+CzKxSZey/+3XKV&qb=xsu+97i1xak=


** 추가하자면 팝업창에서 부모창을 리로드 시키고자 할 때
    opener.parent.window.location.reload();
   
** 팝업창에서 또 팝업창이 열렸을 경우 최하단의 웹페이지 리르드 시키고자 할 때
    opener.opener.parent.window.location.reload();

 

반응형

'프로그래밍 > Javascript' 카테고리의 다른 글

셀렉트 박스 링크 걸기  (0) 2016.01.30
eval()  (0) 2015.11.21
for 문 -- 별 삼각형 출력하기  (0) 2015.10.14
switch 문  (0) 2015.10.11
alert 창 띄우기  (0) 2015.10.09

+ Recent posts