0

JavaScript 関数を使用して iframe の高さを計算し、それを変数に格納しています。その変数を jQuery に送信して、height() を設定したいと考えています。

私の JavaScript 関数

function iframeLoaded()
{
    var iFrameID = document.getElementById('ftwo');
    iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight;
}

値を警告すると正しく表示され、高さを計算しているのと同じドメインにいるため、関数は正常に機能します

$(document).ready(function(){
    $("#ftwodiv").height(iFrameID);
});

私のボディタグにはこれがあります:

<iframe id="ftwo" width="455px" onLoad="iframeLoaded()"  
        scrolling="no" frameborder="0" src="http://www.company.com"></iframe>

うまくいかないことをいくつか試しました。

4

1 に答える 1

1

関数からそれを返して使用することができます。

function iframeLoaded(){
     var hgt = 0;
     var iFrameID = document.getElementById('ftwo');
     hgt = iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight;

     return hgt;
};

$(document).ready(function(){
    var iFrameID = iframeLoaded();
    $("#ftwodiv").height(iFrameID);
});

グローバル変数を使用して同じことを達成することもできます..

var iFrameHeight = 0;

function iframeLoaded(){
         var hgt = 0;
         var iFrameID = document.getElementById('ftwo');
         iFrameHeight  = iFrameID.height = FrameID.contentWindow.document.body.scrollHeight;
    };

    $(document).ready(function(){
        $("#ftwodiv").height(iFrameHeight);
    });

しかし、最初のアプローチはよりクリーンです

于 2012-11-07T23:13:03.590 に答える