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

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

高洛峰
リリース: 2017-01-12 11:19:44
オリジナル
1787 人が閲覧しました

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 サイトに注目してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート