5

iframe の高さをコンテンツに変更するために、ページ上のメイン div のサイズを取得しようとしましたが、document.getElementById("divId").offsetHeight(これも試しinnerHeightて) 間違った値を返します。常に 247 を返しますが、実際にはページが 75% カットされているように見えます。ページが完全に読み込まれなかったので、サイズ変更コードをページのフッターに入れましたが、それでも 247 が返されます。

$(document).ready(function() {
     console.log(document.getElementById("resizeDiv").offsetHeight);
});

助言がありますか?

4

7 に答える 7

2

私は他の決定を見つけました.体の高さを取得するだけでうまくいきます:

var height = Math.max(
    document.body.scrollHeight, 
document.body.clientHeight, 
document.body.offsetHeight, 
document.documentElement.scrollHeight, 
document.documentElement.offsetHeight, 
document.documentElement.clientHeight);
于 2012-10-30T12:01:08.820 に答える
0

すでにjQueryを使用しているので、試してみませんか。

$(function() {
    $('#resizeDiv').height();
});

内部のコンテンツに基づいてiFrameのサイズを変更しようとしているようです。あなたがそれをしようとしているなら、この質問はすでにここで答えられています:

コンテンツに基づいてiframeのサイズを変更する

于 2012-10-30T11:45:24.110 に答える
0

document.getElementById("resizeDiv").offsetHeight、要素の実際の高さをピクセル単位で示します。値には、パディングとボーダーの高さが含まれます。

document.getElementById("resizeDiv").style.heightスタイル属性の高さの部分を求めていることを除いて、.height に似ています。

document.getElementById("resizeDiv").height要素に IMG タグなどの高さ属性がある場合にのみ有効です。

<img src="..." width="200" height="300">

の省略形ですdocument.getElementById("resizeDiv").getAttribute("height")

于 2012-10-30T11:48:48.993 に答える
0

これを試して

$(document).ready(function() {
     console.log($("#resizeDiv").height());    }
);
于 2012-10-30T11:44:57.813 に答える
0

DOM のロード後に関数をロードする必要がある場合があります。

window.addEventListener('DOMContentLoaded', (event) => {
  // do something
});

Mozilla のドキュメントを参照してください

DOMContentLoaded イベントは、最初の HTML ドキュメントが完全に読み込まれて解析されると、スタイルシート、画像、およびサブフレームの読み込みが完了するのを待たずに発生します。

于 2020-06-15T17:55:54.573 に答える