Page 1 of 1

IE에서 iframe의 body 객체 접근방법

Posted: 2006 08 23 17:39 34
by 평양선봉

Code: Select all

...생략..
<body>
<iframe src="about:blank" name="ifrm"></iframe>

<script type="text/javascript">
<!--

alert( window.frames['ifrm'].document.body );

//-->
</script>

</body>
</html>
이런 문서에서..
JavaScript 로 iframe 의 body 객체를 접근/제어 하려 합니다.

페이지 로딩을 하게되면,
FF(1.5)에서는
[object HTMLBodyElement]
라는 결과가,
IE(6.0)에서는
null
의 결과가 나옵니다.

IE에서 iframe.document.body 의 객체를 어떤식으로 접근을 해야 하는지 조언 부탁드립니다.
DOM 문서를 찾고 있는데.. document.all 로 접근을 해야 하는지.. 혼동입니다. :roll:

Posted: 2006 08 23 20:49 51
by nowhere0
iframe.contentWindow.document.body
일겁니다. 아마도.

답글 감사합니다..^^

Posted: 2006 08 23 21:21 40
by 평양선봉
먼저 답변 감사드립니다. :D

Code: Select all

<script type="text/javascript">
<!--

var ifrm_win = document.getElementById('ifrm');
alert(ifrm_win.contentWindow.document.body);

//-->
</script>
이렇게 해도 같은 결과가 나오네요..

alert(ifrm_win.contentWindow...); 전에 alert 창을 한번더 뛰워주면 [object] 로 인식을 합니다.

iframe 해석 순서의 문제인듯..

Posted: 2006 08 24 09:18 15
by 평양선봉
IE에서 iframe 문서의 내용은 제일 나중에 해석하는듯 합니다.
그래서,

Code: Select all

..생략..

<iframe name="ifrm" src="about:blank" style="..."></iframe>

<script type="text/javascript">
<!--
alert( window.frames['ifrm'].document.body );
//-->
</script>

..생략..
처럼 <iframe> 이 먼저 위치하지만, 해석은 제일 나중에 하는듯 합니다.
문서를 좀더 찾아 봐야겠군요.