動態設定iframe的高度

來源:互聯網
上載者:User

一個經典的頁面配置:頁頭,中間部分,頁尾,中間部分又分為左側和右側。左側的內容相對固定,右側是用iframe嵌套內容頁。所以右側的高度根據載入的頁面內容的不同而不同。

這種情況下,要實現右側當實際高度低於某個固定值時,設為固定的高度,當大於某個固定值,採用此時的實際高度。

<iframe id="contentFrame" name="contentFrame" src="<%=this.Page.ResolveUrl("~/MatchIndex.aspx")%>" frameborder="0" scrolling="no" width="100%" height="100%" onload="Javascript:SetWinHeight(this)">
</iframe>

通過指令碼函數SetWinHeight(this)設定頁面載入後的高度

var ContentFrame;
function SetWinHeight(obj) 
{
    ContentFrame = obj;
    ChangeHeight();
}

function ChangeHeight() 
{
    var obj = ContentFrame;
    var height;
    if (document.getElementById) 
    {
        if (obj && !window.opera) 
        {
             if (obj.contentDocument && obj.contentDocument.body.offsetHeight)
             {
                 height = obj.contentDocument.body.offsetHeight;//obj是iframe架構id,則使用contentDocument來指它裡面的內容頁
                 if(height < 750)
                       obj.height = 750;
                 else
                       obj.height = height;
              }
              else if (obj.Document && obj.Document.body.scrollHeight)
              {
                  height = obj.Document.body.scrollHeight;
                  if(height < 750)
                       obj.height = 750;
                  else
                       obj.height = height;
               }
          }
    }
}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.