iframe如何自适应内容的高度??求大神指点啊 50
1个回答
展开全部
<iframe id="myiframe" src="[url]" width="300"></iframe>
<script type="text/javascript">
var iframe = document.getElementById("myiframe");
iframe.onload = function(){
var html = this.contentWindow.document.documentElement
body = this.contentWindow.document.body,
//iframe页面的高度与宽度
h = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight ),
w = Math.max( body.scrollWidth, body.offsetWidth,
html.clientWidth, html.scrollWidth, html.offsetWidth);
var w = this.contentWindow.document.body.scrollWidth;
var h = this.contentWindow.document.body.scrollHeight;
this.style.width = w+30+"px";
this.style.height = h+30+"px";
};
</script>
上面的代码只适用于IE8以上,另外,如果iframe的src是站外链接的话,可能由于跨站取不到宽度,换句话说,上面的示例的成立条件是:
1、浏览器为FF、Chrome、IE8以上。
2、iframe的src指向的是本站的页面
<script type="text/javascript">
var iframe = document.getElementById("myiframe");
iframe.onload = function(){
var html = this.contentWindow.document.documentElement
body = this.contentWindow.document.body,
//iframe页面的高度与宽度
h = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight ),
w = Math.max( body.scrollWidth, body.offsetWidth,
html.clientWidth, html.scrollWidth, html.offsetWidth);
var w = this.contentWindow.document.body.scrollWidth;
var h = this.contentWindow.document.body.scrollHeight;
this.style.width = w+30+"px";
this.style.height = h+30+"px";
};
</script>
上面的代码只适用于IE8以上,另外,如果iframe的src是站外链接的话,可能由于跨站取不到宽度,换句话说,上面的示例的成立条件是:
1、浏览器为FF、Chrome、IE8以上。
2、iframe的src指向的是本站的页面
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询