iframe 自動獲取onload高寬
復制代碼 代碼如下:
function AutoResize(iframe)
{
//firefox
if(iframe.contentWindow)
{
iframe.height = iframe.contentWindow.document.documentElement.scrollHeight;
iframe.width = iframe.contentWindow.document.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(){
AutoResize(iframe);
};
}
tdObj.innerHTML = '';
tdObj.appendChild(iframe);
其實那個iframe.onload這裡想寫成iframe.onload = AutoResize.call(iframe);很遺憾,報錯,不支持。
一直不知道javascript 如何進行函數調用。比如遇到 iframe.onload = function(){} 調用函數且有參數的時候,這樣的情況只能這樣寫,而不能像其他程序那樣直接傳參。
以前看過有 apply() call(),但試過都是不支持的。為什麼?