隨筆 - 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 風雨兼程 閱讀(1007) 評論(1)  編輯  收藏 所屬分類: Asp.net 2.0

          評論

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

          學到了 收藏...


          思想?yún)R報
          http://www.koojob.com/topic/sixianghuibao.htm
          2007-05-31 17:46 | dell
          主站蜘蛛池模板: 喀什市| 屏南县| 班戈县| 杭锦旗| 平和县| 喀喇沁旗| 六枝特区| 维西| 九龙城区| 伊川县| 惠来县| 洱源县| 叙永县| 太白县| 惠安县| 广州市| 九江市| 西城区| 黄大仙区| 阆中市| 定安县| 顺昌县| 青河县| 肃南| 和顺县| 罗田县| 苏尼特左旗| 隆子县| 丽水市| 巢湖市| 临洮县| 安吉县| 安庆市| 永昌县| 富蕴县| 库伦旗| 平遥县| 郴州市| 红安县| 海阳市| 固安县|