一個經典的頁面配置:頁頭,中間部分,頁尾,中間部分又分為左側和右側。左側的內容相對固定,右側是用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;
}
}
}
}