""""""""""""""""""""""""""""
'" 동일 도메인의 경우 ( A_Site : naver.com / B_Site : naver.com )
'""""""""""""""""""""""""""""
function resizeFrame(iframeObj){
var innerBody = iframeObj.contentWindow.document.body;
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);
}
<iframe name="name" scrolling="no" frameborder="0" width="100%" marginheight="5" marginwidth="5" src="filepath" onload="resizeFrame(this)"></iframe>
'""""""""""""""""""""""""""""
'" 서브 도메인이 다른 경우 ( A_Site : site1.naver.com / B_Site : site2.naver.com )
'""""""""""""""""""""""""""""
# site1.naver.com (아이프레임을 호출하는 페이지)
function resizeFrame(iframeObj){
document.domain="naver.com";
var innerBody = iframeObj.contentWindow.document.body;
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);
}
<iframe name="name" scrolling="no" frameborder="0" width="100%" marginheight="5" marginwidth="5" src="filepath" onload="resizeFrame(this)"></iframe>
# site2.naver.com (아이프레임의 호출받는 페이지)
<head>와 </head>사이에
document.domain="naver.com";
'""""""""""""""""""""""""""""
'" 크로스 도메인의 경우 ( A_Site : naver.com / B_Site : daum.com )
'""""""""""""""""""""""""""""
# naver.com (아이프레임을 호출 하는 페이지)
<iframe id="resize_iframe" border="0" frameborder="0" scrolling="no" src="파일경로" width="690" height="10">
# naver.com 에 파일을 하나 추가 한다. (/resize_js.html)
<script language=javascript>
var arrtmp = location.href.split("?"); arrtmp = arrtmp[1].split("&");
var arrtmp2 = arrtmp[0].split("=")
var wid = arrtmp2[1];
var arrtmp2 = arrtmp[1].split("=")
var hei = arrtmp2[1];
var win = parent.parent.document.getElementById("resize_iframe");
win.width = wid;
win.height = hei;
</script>
# daum.com (아이프레임의 호출 받는 페이지)
<script language="javascript">
function SelfResize() {
var iwid=690; var ihei = document.body.scrollHeight+10;
if(navigator.appVersion.indexOf("MSIE 7.")>=0 || navigator.appVersion.indexOf("MSIE 8.")>=0) {
if(parent!=self && ihei>0) resize_iframe2.location.href = "http://naver.com/resize_js.html?width="+ iwid +"&height="+ ihei;
} else {
if(parent!=self) self.resizeTo(iwid, ihei);
}
}
</script>
<body onload="SelfResize();">
<iframe id="resize_iframe2" border="0" frameborder="0" scrolling="no" src="_blank.html" width="1" height="1">
# 익스플로어의 버전이 6이하일 경우 세가지 경우 모두 1번의 소스만으로 가능합니다.