0

私が作成しているページでは、iframe を使用する必要があります。これにより、コンテンツのラッパーを作成し、それを表示せずに表示することができます。iframe の高さを自動検出する JS を考え出すことができましたが、内部のコンテンツが展開され、iframe はこれを認識しません。フレーム化されたコンテンツで、iframeのサイズを再度変更するトリガーとなる何らかのonclickを作成する必要があると想定していますが、これまでのところ行き詰まっています。

以下は、iframe を自動サイズ調整する関数の head セクションにある JS です。

<script type="text/JavaScript">



    function autoResize(id){
        //alert('check');
        var newheight;
        var newwidth;

        if(document.getElementById){
            newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
            newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
        }
        //alert(newheight);
        //alert(newwidth);
        document.getElementById(id).height= (newheight) + "px";
        document.getElementById(id).width= (newwidth) + "px";

    }


    </script>

そして、これは onload と ID を持つ iframe です:

<iframe id="showcase" src="index.html" onload="javascript: autoResize('showcase');" frameborder="0" width="800px" height="4000" scrolling="no"></iframe>

ご協力いただきありがとうございます。この質問について十分に具体的であることを願っています。

4

1 に答える 1

0

よくわかりませんが、DOM Mutation Eventsを使用して、フレーム内のオブジェクトのoffsetWidth/offsetHeight属性のイベント ハンドラーを設定し、を呼び出すことができると思います。bodyautoResize

繰り返しますが、これが機能するかどうかはわかりません。

于 2013-09-06T00:06:13.940 に答える