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