본문 바로가기

프레임셋(Frameset)과 자바스크립트(Javascript)

반응형

n       프레임과 자바 스크립트

  자바 스크립트로 프레임을 제어하기 위해서는 자바 스크립트가 프레임을 어떻게 보고 있는지 알아야 한다.  우리는 앞에서, 자바 스크립트가 윈도우 내에서 페이지의 요소를 계층적으로 표현하고 있음을 배웠다. 이러한 개념은 프레임에도 그대로 적용되어 프레임 객체는 윈도우가 가지는 속성과 메쏘드를 그대로 사용한다.

아래와 같이 , 2개의 프레임으로 나누었을 경우를 예로 들어 보자.

 

Jscript4-2.html

<HTML>

<HEAD><TITLE>Frame 나누기</TITLE></HEAD>

<FRAMESET ROWS="50%, 50%">

  <FRAME SRC="frm1.html" NAME="frame1">

  <FRAME SRC="frm2.html NAME="frame2">

</FRAMESET>

</HTML>

 

 

프레임

 

예제 jscript4-2.html 프레임 구조도를 도식화하면 그림과 같다.  최상위 객체로 브라우저 window 객체가 존재하며 아래에 자식(child) 프레임이 위치하게 되는 것이다.  따라서, 부모 객체인 window 자식 프레임 frame1 frame2 쉽게 접근할 있으며, 자식 프레임 또한 부모 윈도우 객체를 가리키는 parent 이용하여 서로 접근할 있다.

 

  •       Parent window/frame accesses child frame
  •       Child frame accesses parent window/frame
  •       Child frame accesses another child frame

 

¨          부모 윈도우에서 자식 프레임 frame2 호출하는 경우

- frame2.document.write(“이건 부모 윈도우에서 하위 프레임에 !”);

 

¨          부모 윈도우에 새로운 페이지가 로드 되도록 하는 경우

- parent.location!.href = “http://www.easycom.co.kr”;

 

¨          frame1에서 frame2 호출할 경우

- parent.frame2.document.write(“frame1 frame2 호출한 것입니다.”);

 

  아래 예제를 통해서 프레임 상호간의 호출과 데이터 교환 방법을 알아보도록 하자.

 

page1.html : 다른 프레임 속성 접근 예제

<HTML>

<HEAD><TITLE>Frame 1</TITLE>

<SCRIPT Language="JavaScript">

<!--

function showValue()

{

   var val = document.myform.inputtext.value;

   alert(!'당신은 ' + val + ' 를(을)입력했습니다');

}

// -->

</SCRIPT>

</HEAD>

<BODY>

<CENTER>

입 력 :

 <FORM NAME="myform">

   <INPUT TYPE="text" NAME="inputtext">

 </FORM>

</CENTER>

</BODY>

</HTML>

page2.html

<HTML>

<HEAD><TITLE>Frame 2</TITLE>

<SCRIPT Language="JavaScript">

<!--

function check()

{

   parent.upper.showValue();

}

// -->

</SCRIPT>

</HEAD>

<BODY>

<CENTER>

 <FORM NAME="myform">

   <INPUT TYPE="button" VALUE="Check Value" onClick="check()">

 </FORM>

</CENTER>

</BODY>

</HTML>

 

Jscript4-3.html : 프레임 상호간 호출 예제

<HTML>

<HEAD><TITLE>Frame 상호간 호출 예제</TITLE></HEAD>

<FRAMESET ROWS="50%, 50%">

  <FRAME SRC="page1.html" NAME="upper">

  <FRAME SRC="page2.html” NAME="bottom">

</FRAMESET>

</HTML>

 

 

프레임

[화면] Jscript4-3.html 실행 결과

 

  실행 결과에서 있듯이 하단프레임(‘bottom’)에서 상단프레임(‘upper’) 함수를 호출함으로써 상단프레임의 입력박스에 입력된 데이터 값을 읽어내고 있다.

반응형