ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript Firefox は iframe を自動的にロードし、高さと幅を自動的に調整します。

JavaScript Firefox は iframe を自動的にロードし、高さと幅を自動的に調整します。

WBOY
WBOYオリジナル
2016-05-16 17:24:27851ブラウズ

iframe はロード時の高さと幅を自動的に取得します

コードをコピー コードは次のとおりです:

function AutoResize (iframe)
{
//firefox
if(iframe.contentWindow)
{
iframe.height = iframe.contentWindow.document.documentElement.scrollHeight = 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/'; (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.appendChild(iframe);
実際には、ここでの iframe.onload は iframe.onload = AutoResize.call(iframe); として記述する必要がありますが、残念ながら、これはサポートされていません。

JavaScript で関数呼び出しを行う方法をまったく知りませんでした。たとえば、 iframe.onload = function(){} が関数を呼び出し、パラメータがある場合、他のプログラムのようにパラメータを直接渡すのではなく、このように記述するしかありません。

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