隨筆 - 30, 文章 - 0, 評論 - 9, 引用 - 0
          數(shù)據(jù)加載中……

          框架怎樣實現(xiàn)高度隨內(nèi)容自動增高

          main.htm:

          <html> 
              <head> 
                 <meta  http-equiv='Content-Type'  content='text/html;  charset=gb2312' /> 
                 <meta  name='author'  content='F.R.Huang(meizz梅花雪)//www.meizz.com' /> 
                 <title>iframe自適應(yīng)加載的頁面高度</title> 
              </head> 
              
              <body>
                  <div><iframe src="child.htm"></iframe></div>
              </body>
          </html>

          child.htm:

          <html> 
          <head> 
              <meta  http-equiv='Content-Type'  content='text/html;  charset=gb2312' /> 
              <meta  name='author'  content='F.R.Huang(meizz梅花雪)//www.meizz.com' /> 
              <title>iframe  自適應(yīng)其加載的網(wǎng)頁(多瀏覽器兼容)</title> 
              <script type="text/javascript">
              <!--
              function iframeAutoFit()
              {
                  try
                  {
                      if(window!=parent)
                      {
                          var a = parent.document.getElementsByTagName("IFRAME");
                          for(var i=0; i<a.length; i++) //author:meizz
                          {
                              if(a[i].contentWindow==window)
                              {
                                  var h1=0, h2=0;
                                  a[i].parentNode.style.height = a[i].offsetHeight +"px";
                                  a[i].style.height = "10px";
                                  if(document.documentElement&&document.documentElement.scrollHeight)
                                  {
                                      h1=document.documentElement.scrollHeight;
                                  }
                                  if(document.body) h2=document.body.scrollHeight;

                                  var h=Math.max(h1, h2);
                                  if(document.all) {h += 4;}
                                  if(window.opera) {h += 1;}
                                  a[i].style.height = a[i].parentNode.style.height = h +"px";
                              }
                          }
                      }
                  }
                  catch (ex){}
              }
              if(window.attachEvent)
              {
                  window.attachEvent("onload",  iframeAutoFit);
                  //window.attachEvent("onresize",  iframeAutoFit);
              }
              else if(window.addEventListener)
              {
                  window.addEventListener('load',  iframeAutoFit,  false);
                  //window.addEventListener('resize',  iframeAutoFit,  false);
              }
              //-->
              </script> 
          </head> 
          <body>
              <table border="1" width="200" style="height: 400px; background-color: yellow">
                  <tr>
                      <td>iframe  自適應(yīng)其加載的網(wǎng)頁(多瀏覽器兼容,支持XHTML)</td>
                  </tr>
              </table>
          </body> 
          </html>

           很多人反應(yīng)在IE7里使用它會死機,那是因為在自適應(yīng)高度時觸發(fā)了 window.onresize 事件,而這個事件又去調(diào)用這個調(diào)整 <iframe> 高度的函數(shù),產(chǎn)生了死循環(huán)調(diào)用。

          posted on 2007-04-29 18:03 風(fēng)雨兼程 閱讀(1007) 評論(1)  編輯  收藏 所屬分類: Asp.net 2.0

          評論

          # re: 框架怎樣實現(xiàn)高度隨內(nèi)容自動增高  回復(fù)  更多評論   

          學(xué)到了 收藏...


          思想?yún)R報
          http://www.koojob.com/topic/sixianghuibao.htm
          2007-05-31 17:46 | dell
          主站蜘蛛池模板: 盐津县| 大荔县| 霍州市| 凤台县| 琼海市| 威海市| 无锡市| 广昌县| 社旗县| 大悟县| 河源市| 象州县| 宜良县| 龙山县| 乐陵市| 嘉荫县| 绥中县| 台东县| 玉门市| 阿拉尔市| 翁源县| 遂平县| 海宁市| 容城县| 都匀市| 长沙县| 石景山区| 正安县| 乡宁县| 鹤山市| 乌苏市| 灵川县| 旅游| 靖江市| 涪陵区| 页游| 讷河市| 广德县| 广昌县| 漳浦县| 黔江区|