[JS] 팝업 창에서 클릭한 내용을 메인 창에 나타내기

선영·2022년 8월 26일
0

JS

목록 보기
21/25
post-thumbnail

main.html

  • 팝업 창을 popWin이라는 객체로 할당한 후, popWin을 만든 부모(main 창)가 누구인지 브라우저에게 알려 줘야 함.
<body>
  <p>문서를 열면 팝업 창이 표시됩니다.</p> 
  <script>
    popWin = window.open("doit-event.html", "popup", "width=750, height=600");
    popWin.opener = self;  // popWin 객체를 만든 부모가 자신(self)이라고 알려 줌. 
  </script>
</body>

doit-event.html

  • <a>태그에서 링크된 문서를 메인창에 표시함. <a>태그의 href속성값을 인수로 넘겨주는 loadURL() 함수를 실행. 이때 thisclick 이벤트가 발생한 대상, 즉 a객체를 가리킴.
  • return false는 링크를 클릭했을 때 기본 동작(링크를 연결하는 것)을 취소한다는 뜻.
<body>
  <div id="container">
    <h1>이벤트 공지</h1>
    <img src="../16/images/doit.jpg">
    <p><a href="doit-main.html" onclick="loadURL(this.href); return false;">자세히 보기</a></p>  
  </div>

  <script>
    function loadURL(url) {
        window.opener.location = url;  // 부모 창(creator)의 location에 url을 넘김
        window.close();  // 현재 창 닫기
    }
  </script>
</body>

doit-main.html

  • loadURL()함수는 현재 창의 부모 창을 찾아서 그 창의 location에 매개변수의 값 url을 넘겨주고 현재 창은 닫음.
<body>
  <div id="container">
    <img src="http://www.easyspub.co.kr/upload/smarteditor/BOOK/2016/20160418190258778248.jpg">
  </div>
</body>

0개의 댓글