要素があるiframeがあり、コンテンツに合わせてiframeのサイズを変更しようとしています。 iframeを調べるとボディの高さは577px
ですが、JavaScriptの高さにアクセスすると250px
と表示されます。iFrameの高さ検出が不正確な高さを返します
function getHeight(el) {
const {clientHeight, outerHeight, innerHeight, offsetHeight} = el;
return clientHeight || outerHeight || innerHeight || offsetHeight;
}
// called on iframe's onload event
function onIframeLoad() {
var iFrame = document.getElementById('advertFrame');
if(iFrame) {
var heightContainer = iFrame.contentWindow.document.body;
var height = getHeight(heightContainer) + 'px';
iFrame.height = height;
iFrame.style.height = height;
}
}
あなたがロードするコンテンツのIフレームを待たずに、すぐにページをロードした後、インラインフレームの初期高さを取得する可能性があります。 –
@AliSheikhpourしかし、私の意図は、iframeのコンテンツの高さを知ることです。コンテンツを待たずにコンテンツをどのくらいの高さにすることができますか? – SimpleJ
おそらく[この質問](http://stackoverflow.com/q/819416/215552)の答えはあなたを助けるでしょうか?あなたはコンテンツの高さに合わせてiframeを作成したい最初の人物ではありません... –