아이프레임iframe 자동리사이즈 정보
아이프레임iframe 자동리사이즈
관련링크
본문
<SCRIPT type=text/javascript>
// IFrame script Ver 1.0
//여러개의 IFrame는 다음과 같이 사용합니다.
// 예 : ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["ifrm"]
var iframehide="yes"
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0
function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++) {
if (document.getElementById)
resizeIframe(iframeids[i])
if ((document.all || document.getElementById) && iframehide=="no") {
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}
function resizeIframe(frameid) {
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight)
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight)
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe)
currentfr.attachEvent("onload", readjustIframe)
}
}
}
function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}
function loadintoIframe(iframeid, url) {
if (document.getElementById)
document.getElementById(iframeid).src=url
}
if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller
</SCRIPT>
<iframe id="ifrm" name="board" src="파일" width="800" scrolling="no" frameborder="0"></iframe>
로 하시면 됩니다. 아이프레임이 다수인 경우 id값으로 구분 됩니다.
IE.FF.CHROME 모두 가능합니다.
// IFrame script Ver 1.0
//여러개의 IFrame는 다음과 같이 사용합니다.
// 예 : ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["ifrm"]
var iframehide="yes"
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0
function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++) {
if (document.getElementById)
resizeIframe(iframeids[i])
if ((document.all || document.getElementById) && iframehide=="no") {
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}
function resizeIframe(frameid) {
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight)
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight)
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe)
currentfr.attachEvent("onload", readjustIframe)
}
}
}
function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}
function loadintoIframe(iframeid, url) {
if (document.getElementById)
document.getElementById(iframeid).src=url
}
if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller
</SCRIPT>
<iframe id="ifrm" name="board" src="파일" width="800" scrolling="no" frameborder="0"></iframe>
로 하시면 됩니다. 아이프레임이 다수인 경우 id값으로 구분 됩니다.
IE.FF.CHROME 모두 가능합니다.
추천
2
2
댓글 13개
감사합니다.

다른 도메인과의 사용은 안되나보네요. 아쉽...

외부url 문서 불러올 때 말씀하시는건가요 ?

네.. 외부에서 불러올때 적용할 수 있는 방법이 없을까요???

감사합니다

덕분에 잘~사용합니다.
감사합니다.

로딩 속독 좀 떨어 지는 듯 합니다...
잘쓰고 있습니다. 고맙습니다. ^^
잘쓰고 있습니다. 고맙습니다. ^^

네 저도 그렇게 느끼지만 유동적인 게시판의 출력일 경우 세로 사이즈에 따라
대응하니 좀 편리한건 사실이더군요~
대응하니 좀 편리한건 사실이더군요~
감사합니다.. 훌쩍훌쩍
완전 감사합니다 ㅠㅠ
크롬에서는 안되는데여
감사감사. 유용해요~