Work/Etc.

[인터넷응용프로그래밍] 한 프레임에서 다른프레임의 변수로의 접근

sleepiggy 2010. 11. 25. 22:36
프레임을 여러개로 나누다 보면 프레임에서 다른 프레임의 변수를 사용해야 할 때가 있다.
그런데, 이 때 프레임은 각각의 html 문서를 가지므로 getElementById 로 바로 접근이 어렵다.

텀을 하다가 이 문제에 봉착하여 서핑을 해 본 결과 아래 사이트에서 아주 명쾌하게 설명을 해 두었더랬다.

http://cross-browser.com/talk/inter-frame_comm.html

방법을 간단히 요약하면 아래와 같다.
html 문서에 frame1, frame2 라는 두개의 프레임이 있다고 하자.

이때, frame1 에서 frame2 에 있는 변수 helloworld 의 값을 변경하려고 한다.
그러면 frame1에서는 자바스크립트를 이용하여 간단히

top.frame2.helloworld = 2;

라는 문장으로 helloworld 변수에 접근할 수가 있다.
여기서 top 은 모든 프레임의 제일 상위 레벨에 있는 window를 칭하는 것이다.
여기서, window 라고 한 것은 자바스크립트에서 frame 은 window로 취급 되기 때문이다.
따라서 최상위의 top 에서 그 하위의 frame2라는 window로 접근하여 그 곳의 helloworld 변수를 읽고 쓸 수 있는 것이다.