ホームページ  >  記事  >  ウェブフロントエンド  >  javascript Firefox が iframe を自動的に読み込み、高さと幅を自動的に調整する例

javascript Firefox が iframe を自動的に読み込み、高さと幅を自動的に調整する例

高洛峰
高洛峰オリジナル
2017-01-12 11:19:441664ブラウズ

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() を見たことがありますが、試してみてもサポートされていません。なぜ?

その他の JavaScript、Firefox 自動読み込み、iframe 自動調整、高さと幅の例関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。