JavaScript应用:iframe自适应其加载的内容高度(zz)

在对台内网站进行重新设计时遇到了一个iframe问题:

<iframe width=100% height=250 frameborder=0 scrolling=yes src=child.htm name=1></iframe>

应用上面这样普通的iframe代码在内页高度大于设定的高度时会显示不完全(scrolling值为no),要么会产生拖拽条(scrolling值为yes),嵌套内容页高度不能自适应。今天应用了下面的iframe方式,问题解决。

//main.htm

<html> 
<head> 
<meta http-equiv='Content-Type' content='text/html; charset=gb2312' /> 
<meta name='author' content=lenglau//www.liuleng.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=lenglau//www.liuleng.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&amp;&amp;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>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值