본문 바로가기

Computer

iframe 높이조절

* 먼저 이팁은 아이프레임적용시 일반문서나 제로보드게시판에서 세로의 스크롤바가 생기지 않고 높이를 자동으로 조절해 주는 팁입니다.


1. 먼저 아이프레임을 적용하려는 문서의 <head> 와 <./head> 사이에 아래의 소스를 사정없이 잡아 넣으세요.. ^^;

[#F1_]<script language='JavaScript' type='text/javascript'>
<!--
function resizeFrame(iframeObj){
        /* 아이프레임에서 읽어들인 페이지의 body */
        var innerBody = iframeObj.contentWindow.document.body;
       
        /*
        * 특정이벤트 발생시 다시 사이즈 조정!! ( 윤상권님의 지적 )
        * ex )
        * 항상 들어가야할 내용 입니다.
        * 혹시 아이프레임 속에 BODY 에 이미 이벤트가 정의 되어 있을경우를 위해
        * oldEvent = innerBody.ondbclick;
        * 위와 같은 식으로 이벤트를 백업받아놓으면 될듯 합니다.
        * 1. innerBody.ondbclick = function { resizeFrame(iframeObj, 1);oldEvent; };
        * 2. innerBody.onmousemove = function { resizeFrame(iframeObj, 1);oldEvent; };
        * 3. innerBody.onkeydown = function { resizeFrame(iframeObj, 1);oldEvent; };
        */
        oldEvent = innerBody.onclick;
        innerBody.onclick = function(){ resizeFrame(iframeObj, 1);oldEvent; };


        /*         높이 다시설정 */
        var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
        iframeObj.style.height = innerHeight;


        // 넓이 다시설정
        var innerWidth = innerBody.scrollWidth + (innerBody.offsetWidth - innerBody.clientWidth);
        iframeObj.style.width = innerWidth;    

        if( !arguments[1] )        /* 특정 이벤트로 인한 호출시 스크롤을 그냥 둔다. */
                this.scrollTo(1,1);
}
//-->
</script>
[_F1#]

2. 그런 다음... 아이프레임을 적용할 곳에...........

[#F2_]<iframe src="불러올 게시판주소나 문서의 주소" onload="resizeFrame(this)" scrolling="no" border="0" frameborder="0"></iframe> [_F2#]

이렇게 하시면 스크롤바가 안생기고 문서의 높이에 따라 기똥차게 높이가 조정됩니다.