0

私はこれをしばらく機能させようとしましたが、役に立ちませんでした。さまざまなスクリプトを試しましたが、明らかに何か間違ったことをしています:(

ページの左側にメニューがあり、ページの右側にある iframe をターゲットとする (同じサーバーの) href リンクが含まれています。

ページを iframe に送信しますが、iframe の高さは変わりません。

誰かが私を助けてくれますか:(

ここに私のコードがあります:

html

<link rel="stylesheet" type="text/css" href="jquery.pageslide.css">
<script type="text/javascript" src="jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

function sizeIframeToContent(id) {
    // resize iframe to be the height of the content
    try {
        var frame = document.getElementById(viewcontent);
        innerDoc = (frame.contentDocument) ?
                   frame.contentDocument : frame.contentWindow.document;
        var objToResize = (frame.style) ? frame.style : frame;
        objToResize.height = innerDoc.body.scrollHeight + 10 + 'px';
        //objToResize.width = innerDoc.body.scrollWidth + 10 + 'px';
    }
    catch (err) {
        console.log(err.message);
    }
}

.... メニューリンク

<div class="menuOut" onMouseOver="this.className='menuIn'" onMouseOut="this.className='menuOut'">
          <a href="forum_frame.php?forum=guest" target="viewcontent">- Forum Adverts </a></div>

.... iframe html

<div id=maincontain>
<iframe id="viewcontent" frameborder="0">
</iframe>
</div>

CSS

#maincontain {
    width: 85%;
    float: none;
    margin-left: 12%;
}
#viewcontent {
    width: 100%;
    padding-top: 15px;
    float: none;
}

手動でより大きな高さを指定しない限り、iframe の高さは約 300px のままです。

読み込まれるページはすべて 800px+ の高さです。

ありがとう。

4

3 に答える 3

0

JQueryを試しましたか?

あなたが使用することができます:

$("#viewcontent").height($("#viewcontent").contents().find("html").height());

そして、iframeのサイズを変更したいイベントでそれを呼び出すだけです。自分のプロジェクトの1つでキーアップに取り組んでいます。これがjsFiddleです。

于 2013-02-14T15:41:45.470 に答える
0

iframe の高さはコンテンツの影響を受けません。それがiframeの仕組みです。それらを縮小または拡大する必要がある場合は、手動で行う必要があります。ここでもっと読む:

于 2013-02-09T21:25:12.957 に答える