用javascript动态调整iframe高度
当你在页面上使用了iframe之后,一般来说会不希望iframe显示难看的滚动条,以使iframe里面的内容和主页面的内容浑然一体。这时候你会设置 scrolling="no" 属性。但是这样一来如果iframe里面的内容是变化的,高度会随之内容的变化而变化的时候,你的iframe就会显得太长导致底下一大片空白,或者正好相反,由于iframe的高度太小导致一部分内容会被挡住。这里我提供一个兼容IE/NS/Firefox的javascript脚本实现动态调整iframe的高度。如果需要调整宽度的话,原理是一样的,本文不加详述
首先,在你的主页面上必须包含以下这段javascript代码:
首先,在你的主页面上必须包含以下这段javascript代码:
1
<script language="javascript" type="text/javascript">
2
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
3
//extra height in px to add to iframe in FireFox 1.0+ browsers
4
var FFextraHeight=getFFVersion>=0.1? 16 : 0
5
function dyniframesize(iframename)
6
{
7
var pTar = null;
8
if (document.getElementById)
9
{
10
pTar = document.getElementById(iframename);
11
}
12
else
13
{
14
eval('pTar = ' + iframename + ';');
15
}
16
if (pTar && !window.opera)
17
{
18
//begin resizing iframe
19
pTar.style.display="block"
20
if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight)
21
{
22
//ns6 syntax
23
pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight;
24
}
25
else if (pTar.Document && pTar.Document.body.scrollHeight)
26
{
27
//ie5+ syntax
28
pTar.height = pTar.Document.body.scrollHeight;
29
}
30
}
31
}
32
</script>
然后对于主页面用到iframe的地方添加代码:
<script language="javascript" type="text/javascript">2
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]3
//extra height in px to add to iframe in FireFox 1.0+ browsers 4
var FFextraHeight=getFFVersion>=0.1? 16 : 0 5
function dyniframesize(iframename)6
{7
var pTar = null;8
if (document.getElementById)9
{10
pTar = document.getElementById(iframename); 11
}12
else13
{ 14
eval('pTar = ' + iframename + ';'); 15
}16
if (pTar && !window.opera)17
{18
//begin resizing iframe19
pTar.style.display="block" 20
if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight)21
{22
//ns6 syntax 23
pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight;24
}25
else if (pTar.Document && pTar.Document.body.scrollHeight)26
{27
//ie5+ syntax 28
pTar.height = pTar.Document.body.scrollHeight;29
}30
}31
} 32
</script>1
<iframe id="OrderFrame" src="MyOrders.aspx" marginwidth=0 marginheight=0 width=200 height=100 frameborder=0 scrolling=no onload="javascript:{dyniframesize('OrderFrame');}"></iframe>
<iframe id="OrderFrame" src="MyOrders.aspx" marginwidth=0 marginheight=0 width=200 height=100 frameborder=0 scrolling=no onload="javascript:{dyniframesize('OrderFrame');}"></iframe>

浙公网安备 33010602011771号