2

私は問題があります。中央のdivとその中のiframeで構成されるテンプレートに取り組んでいます。divは、iframeのコンテンツに応じて動的にサイズ変更する必要があります。ここで見つかった他の解決策を試しましたが、結果はありませんでした。次のHTMLコードを使用しています。

<div id="site_content" style="position:relative; width:445px; height:500px;">

    <iframe id="mainframe" name="mainframe" onload="parent.adjustIFrameHeight();" FRAMEBORDER="0" scrolling="no" style="overflow:hidden; border:none;" src="http://www.letsapp.it/alecianetti/" width="445" height="600"></iframe>

</div>

iframeコンテンツの変更時にdiv(#site_content)のサイズを動的に変更したいのですが。私はこの関数を試しましたが、jsなどの使用についてはあまり専門的ではありません(現在それらを研究しています;))ので、それが有用か正しいかわかりません

onload="parent.adjustIFrameHeight();"

結果のアイデアを与えるために、私が複製しているテンプレートであるThemeForestWaveCVのデモサイトをリンクします。

誰か助けてもらえますか?

4

1 に答える 1

1

試してみました!

    <script type="text/javascript">
        function setIframeHeight(iframeName) {
          //var iframeWin = window.frames[iframeName];
          var iframeEl = document.getElementById? document.getElementById(iframeName): document.all? document.all[iframeName]: null;
          if (iframeEl) {
          iframeEl.style.height = "auto"; // helps resize (for some) if new doc shorter than previous
          //var docHt = getDocHeight(iframeWin.document);
          // need to add to height to be sure it will all show
          var h = alertSize();
          var new_h = (h-148);
          iframeEl.style.height = new_h + "px";
          //alertSize();
          }
        }

        function alertSize() {
          var myHeight = 0;
          if( typeof( window.innerWidth ) == 'number' ) {
            //Non-IE
            myHeight = window.innerHeight;
          } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
            //IE 6+ in 'standards compliant mode'
            myHeight = document.documentElement.clientHeight;
          } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
            //IE 4 compatible
            myHeight = document.body.clientHeight;
          }
          //window.alert( 'Height = ' + myHeight );
          return myHeight;
        }
    </script>

</head>
<body onload="setIframeHeight('ifr');">
<center>
    <iframe id="ifr" src="yourdomain!" onload="parent.adjustIFrameHeight();" width="850px" scrolling="no" ></iframe>
</center>
</body>
</html>
于 2012-04-11T10:59:58.250 に答える