如果在页面中用到了iframe标签,有时在浏览器中并不能完全显示iframe,导致有些iframe内的内容不能被显示,如果遇到这种情况,使用以下js可以解决大多数问题。
这是iframe标签:
<
iframe
marginwidth
="0"
src
=" "
marginheight
="0"
width
="100%"
name
="i"
id
="urlIframe"
frameborder
="0"
scrolling
="no"
onload
="reinitIframe()"
>
</ iframe >
</ iframe >
在加载时执行reinitIframe()函数,以下是函数内容:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
function
reinitIframe() {
var iframe = document.getElementById( " urlIframe " );
var iframe = document.getElementById( " urlIframe " );
try
{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
/*
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
/*
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height; */
iframe.height = bHeight;
}
catch (ex) { }
}
iframe.height = height; */
iframe.height = bHeight;
}
catch (ex) { }
}
实际中使用变量bHeight可以正好得到完整的高度,如有需要可以使用dHeight,并得到两者的最大值,但实际应用中使用dHeight,只是记录每一次得到的最大值,会带来一些问题。具体应用还是看需求吧。