[XHTML]iframe body 크기문제..

국내에 웹 사이트들이 웹 표준을 지키고 OS나 브라우저와 관계 없이 접근성을 향상 시키기 위한 사이트 버그 신고 및 문제 해결을 위한 게시판입니다.
Post Reply
User avatar
jisung
Posts: 19
Joined: 2006 02 01 16:57 34
Contact:

[XHTML]iframe body 크기문제..

Post by jisung »

http://jisung.podcast.co.kr/q/xhtml060310/

index.htm

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="ko" lang="ko" xmlns="http://www.w3.org/1999/xhtml"><head>
<title>XHTML</title>
<script type="text/javascript">
<!--
function reSize(e)
{
	var iframeHeight = document.getElementById(e).contentWindow.document.body.scrollHeight;
	document.getElementById(e).style.height = iframeHeight;
	document.getElementById("report").innerHTML = iframeHeight;
}
//-->
</script>
</head>
<body>
<iframe id="iframe" src="iframe.htm" width="500px" height="200px" scrolling="no"></iframe>
<div id="report">a</div>
</body>
</html>
iframe.htm

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="ko" lang="ko" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XHTML</title>
<script type="text/javascript">
<!--
function showhide(e)
{
	if(document.getElementById(e).style.display=='none')
		document.getElementById(e).style.display = 'block';
	else
		document.getElementById(e).style.display = 'block';

	parent.reSize("iframe");
}
//-->
</script>
</head>
<body bgcolor="#eeeeee">
<div id="showhide" style="display:none;width:500px;height:500px;position:absolute;">test</div>
<a href="javascript:showhide('showhide')">ShowHide</a>
</body>
</html>
위와 같은 코드로 구성되어 있습니다.

ShowHide 버튼을 클릭하게되면, 아이프레임안 문서의 display:none의 div가
block되며, 동시에 부모의 reSize() 함수를 실행합니다.
reSize()함수의 기능은 아이프레임안의 body scrollHeight를 구하여, 값만큼 아이프레임개체 높이를 조절합니다.

HTML 4.01 DTD에서는 문제가 발생하지 않는데, XHTML 1.0 Transitional로 선언한 뒤, 문제가 발생합니다.
div엘리먼트의 postion 스타일 값이 absolute 일 경우, 이 엘리먼트의 크기를 부모가 참조를 못하는 것 같습니다. 반대로 relative일 경우는 참조합니다.

어떻게 해결해야 할까요??
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests