본문 바로가기

JavaScript

16장 실습 3

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

 

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>메인 창</title>
</head>
<body>
  <p>문서를 열면 팝업 창이 표시됩니다.</p>
  <script>
    popWin = window.open("practice2.html","popup","width=750,height=600");
    popWin.opener = self; //popWin 객체를 만든 부모가 자신(self)이라고 알려줌
  </script>
</body>
</html>

- 팝업창을 popWin이라는 객체로 할당한 후 popWin을 만든 부모 (메인 창)가 누구인지 브라우저에게 알려줘야 함

 :popWin.opener = self; 

 

-openr() 함수 

 : 자식창의 action으로 부모창에 영향을 주거나 데이터를 넘길 때 사용

 :popop 창 -> 자식창

 :popup 창을 열게하는 메인 창 -> 부모창

 

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>이벤트 공지 </title>
  <style>
    #container
    {
      width:600px;
      margin:10px auto;
      padding:10px;
      text-align:center;
    }
  </style>
<body>
  <div id="container">
    <h1>이벤트 공지</h1>
    <img src="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>
</html>

- <a> 태그에서 링크된 문서(doit-main.html)를 메인 창에서 표시할 수 있도록 해야함

 

- loadURL() 함수 생성

  -> <a>태그의 href 속성값을 인수로 넘겨줌 

  -> 현재 창의 부모 창을 찾아서 그 창의 location에 매개변수의 값(url)을 넘겨주고 현재창은 닫음

 

-loadURL(this.href);

  -> this는 click이벤트가 발생한 대상, 즉 a객체를 가리킴

 

- return false; 

  -> 링크를 클릭했을 때 기본동작(링크를 연결하는 것)을 취소

 

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Do it!</title>
  <style>
    #container{
      width:750px;
      margin:0 auto;
      text-align:center;
    }
  </style>
</head>
<body>
  <div id="container">
  </div>
</body>
</html>

 

 

'JavaScript' 카테고리의 다른 글

16장 마무리 문제 1  (0) 2023.04.12
16장 실습 4  (0) 2023.04.11
16장 예제 - 브라우저와 관련된 객체(2)  (0) 2023.04.11
16장 예제 - 브라우저와 관련된 객체 (1)  (0) 2023.04.11
16장 실습 2  (0) 2023.04.11