Page 1 of 1

iframe에 결과 출력시.....

Posted: 2008 02 27 18:26 42
by firstfirst
몇일째 고민만 하고 있습니다..
검색해도.. 어떻게... 해결방법이 안나오네요~

jsp파일을 읽어들여..
iframe안에 내용을 출력합니다..

IE에서 실행해보면.. 마지막 내용까지 제대로 출력하나..
FF에서 실행해보면.. 조금 출력하다가.. 나머지 부분은 공백인 상태로 스크롤 바만 생깁니다..

iframe의 사이즈는.. 출력되는 결과에 따라..변경될수 있게.. 자바스크립트로 처리했구요.. (iframe이 정의되어 있는 곳..)

Code: Select all

	function frameResize(){
		if(ifrm1.document.body){
			hi = ifrm1.document.body.scrollHeight;
			if (hi) document.getElementById("ifrm1_id").height = hi;
			setTimeout("frameResize()",100);
		}else{
			setTimeout("frameResize()",100);
		}
	}
	setTimeout("frameResize()",10);
주변사람한테 물어봤더니.. jsp파일을 읽어들일때 정의하라길래..

Code: Select all

<HTML>
<HEAD>  <META HTTP-EQUIV="Pragma" CONTENT="no-cache">  <jsp:include page='style.jsp' flush='true' />
 <TITLE>   <%= sTitle %>  </TITLE>
 <SCRIPT LANGUAGE="JavaScript">   function remakeFrameHeight() {    if(parent && (parent!=self) && "ifrm1_id" && parent.document.getElementById("ifrm1_id")){     if (document.all) {      parent.document.getElementById("ifrm1_id").height = (document.body.scrollHeight+2);     } else {      parent.document.getElementById("ifrm1_id").height = (document.body.offsetHeight+2);     }    }   }
 </SCRIPT>
</HEAD>
<BODY onload="remakeFrameHeight()">
 <TABLE WIDTH='100%' BORDER=0 CELLSPACING='1' CELLSPANDDING='0' bgcolor='#FFFFFF'>
.....
.....
.....
.....
 </TABLE> </BODY>
</HTML>
이렇게 정의해놓은 상태입니다..
어디가 문제인지.. 도무지 알수가 없어요~
도와주세요~ㅠㅠ

Re: iframe에 결과 출력시.....

Posted: 2008 02 28 12:00 23
by hyeonseok
말씀해 주신 내용으로는 스크립트 문제인지, 페이지 랜더링 문제인지 잘 모르겠네요. 파이어 폭스의 오류 콘솔(error console)을 열고서 스크립트에서 나는 오륜지 확인해 보세요.

http://hyeonseok.com/pmwiki/index.php/Javascript/Iframe

랜더링 오류라면, 화면을 볼 수 있게 url을 알려주시면 더 좋을 것 같습니다.

Re: iframe에 결과 출력시.....

Posted: 2008 02 28 17:55 51
by firstfirst
테스트삼아...
iframe에 [scrolling='yes'] 로 지정해 보았습니다..

그런데.. 이상하게도~

IE에서는 정상적으로 마지막 부분까지 스크롤 바가 생겼는데요..
FF에서는.... 출력된 부분까지 스크롤 바가 생기고... 나머지는 역시나 공백으로 나옵니다..
그 스크롤로 아래쪽을 내려 보면.. 데이터는 정상적으로 출력되는 듯 하나...

결과물에 맞게 iframe사이즈도 바꿨는데.... 왜 바뀌지 않는걸까요...

iframe의 위치가 어디까지인지 확인해볼려구.. [frameborder='1'] 로 지정했더니..
iframe은.. 마지막까지 잘 나와있었어요...ㅠㅠ