在网站的页面布局中我们经常要用到IFRAME,而且有事需要IFARME能够自适应内容的大小,免得出现滚动条,太难看。
下面是我从网上搜集来的代码,直接用上了,觉得挺好用的,帖出来共享
被嵌页面:Inc_Left_Tech.aspx的头部代码
<%
...
@ Page Language="C#" AutoEventWireup="true" CodeFile="Inc_Left_Tech.aspx.cs" Inherits="Inc_Left_Tech"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
< link href ="CSS/Boton.css" rel ="stylesheet" type ="text/css" />
< 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 = "0px";
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 style ="background-color: #eae9e9" >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
< link href ="CSS/Boton.css" rel ="stylesheet" type ="text/css" />
< 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 = "0px";
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 style ="background-color: #eae9e9" >
调用页面的IFRAME的代码
<iframe src="../Inc_Left_Tech.aspx" frameborder="0" scrolling="no" hspace="0" marginwidth="0PX;" width="197" height="0"></iframe>