JavaScript實現Iframe自適應其載入的內容高度

來源:互聯網
上載者:User

在使用IFrame的時候經常出現內容高度不符影響頁面整體效果,利用JavaScript可以實現Iframe自適應其載入的內容高度.

//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自適應載入的頁面高度</title> 
</head> 

<body>
<iframe src="child.htm"></iframe>
</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 自適應其載入的網頁(多瀏覽器安全色)</title> 
<script type="text/javascript">
<!--
function iframeAutoFit()
{
var ex;
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;
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 = h +"px";
}
}
}
}
catch (ex){}
}
if(document.attachEvent)
{
window.attachEvent("onload", iframeAutoFit);
window.attachEvent("onresize", iframeAutoFit);
}
else
{
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 自適應其載入的網頁(多瀏覽器安全色,支援XHTML)</td>
</tr>
</table>
</body> 
</html>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.