さまざまなページラベルがクリックされた後、ajaxを使用してデータをロードするページをロードしているiFrameがあります。現在、Javascript関数を使用して、iframeの高さを置き換えるために読み込まれたデータの高さを計算しています。これにより、iframeのサイズが変更され、スクロールバーが回避されます。今私の問題は、ラベルがクリックされるとすぐにスクリプトが呼び出されることですが、データはまだロードされています。ajaxがデータのロードを完了してから関数を呼び出すまで待つために使用できるものを教えてください。
次のスクリプトを使用しています。
function resizeFrame() {
var body = document.body,
html = document.documentElement;
var iFrame = parent.document.getElementById("iframe1");//get id of iframe from parent
var nHeight=0;
var iframeWin = iFrame.contentWindow.document.body ;
nHeight = iframeWin.scrollHeight;
iFrame.style.height = nHeight+'px'; //set the frame height to correspond to the content
}
私のHTMLは次のとおりです。
<iframe src="" id="iframe1" name="iframe1" scrolling="no" frameborder="0" onload="$(document).ready(function(){resizeFrame();});" style="width:960px;height:570px">
上記のコードは私にとってはうまく機能します(iframe / src urlは両方とも同じドメインにあります)。また、iframeコンテンツウィンドウページにあるdiv要素の高さを取得したいと思います。どうすればそれをつかむことができますか?