iframe은 자동으로 온로드 높이와 너비를 얻습니다.
기능 AutoResize (iframe)
{
//firefox
if(iframe.contentWindow)
{
iframe.height = iframe.contentWindow.document.documentElement.scrollHeight
iframe.width = iframe.contentWindow.documentElement.scrollWidth;
}
//IE
else if(iframe.contentDocument) {
iframe.height = iframe.contentDocument.width;
iframe .width = iframe.contentDocument.height;
}
}
iframe 자동 로딩:
var tdObj = document.getElementById('ifrtd')
tdObj.innerHTML = 'QQ가 동적으로 로드 중입니다. ... ';
var iframe = document.createElement("iframe")
iframe.src = 'http://www.zbphp.com/'
if (iframe.attachEvent){
//iframe.attachEvent("onload",AutoResize.call(iframe)) #오류 보고
iframe.attachEvent("onload", function(){
AutoResize(iframe);
});
} else {
//iframe.onload = AutoResize.call(iframe); #오류 보고서는 지원되지 않습니다.
iframe.onload function(){
자동 크기 조정(iframe) ;
}
tdObj.innerHTML = '';
tdObj.appendChild(iframe);
사실 여기의 iframe.onload는 iframe.onload = AutoResize.call(iframe);으로 작성하려고 하는데, 안타깝게도 오류가 보고되며 지원되지 않습니다.
저는 자바스크립트에서 함수를 호출하는 방법을 전혀 몰랐습니다. 예를 들어 iframe.onload = function(){}이 함수를 호출하고 매개변수가 있는 경우 다른 프로그램처럼 매개변수를 직접 전달하는 대신 이렇게만 작성할 수 있습니다.
apply() call()을 본 적이 있는데 시도해봐도 지원되지 않습니다. 왜?