1

ページに iframe を含める必要があり、垂直スクロールバーが表示されないように、正しい高さを計算して調整したいと考えています。ただし、必要に応じて水平スクロールバーを表示したいと考えています。

この問題に関する投稿をいくつか見つけましたが、100% 機能する人はいません。これは私が見た非常に一般的なアプローチです。

$(document).ready(function() {      
$('iframe').load(function() {
$("#your-iframe-id").height($("#your-iframe-id").contents().find("html").height()+35);
});
})

<iframe id="your-iframe-id" style="width:100%;border:0;" src="test.php"></iframe>

このアプローチで私が見つけた問題は、Safari と Chrome で、iframe に移動して前のページよりも短いページにアクセスすると、フレームの高さが依然として高いページの高さになることです。代わりに、短いページから長いページに移動すると、すべてが正常に機能します。Firefox にはこの問題はありません。IE と Opera は試していません。

どんな助けでも本当に感謝しています。前もって感謝します。

4

1 に答える 1

1
<script>
    var resizeHandle = function()
    {
        var theFrame = $('.window-content-wrapper', parent.document.body);
        theFrame.height($(document).height());      
        var theFrame = $('.window-content', parent.document.body);
        theFrame.height($(document).height());
    };
</script>

<iframe id ="home"  onResize="resizeHandle()" onload="resizeHandle()" style="width:100%;border:0;" src="test.php"></iframe>
于 2012-12-28T17:35:12.453 に答える