iframe高度自适应,终于解决了
Posted WeiEnterprise
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe高度自适应,终于解决了相关的知识,希望对你有一定的参考价值。
一直被iframe的高度自适应的问题困扰着,在项目中也是多次遇到。网上也有不少相关的代码,但是总不能满足自己的要求。在头痛了几次之后终于下定决心解决这个问题。
本代码主要解决的问题是:最外层滚动条随着iframe高度动态变化的问题。如果iframe高度比较大最外层就会出现滚动条,否则就不会。网上好多例子的问题都是iframe只保留最大的高度以至于页面内容高度很小但是右边还有滚动条。
话不多说,上代码。
1 /** 2 * iframe自适应高度,height为手动设置的最小高度 3 */ 4 function initIframeHeight(height){ 5 var userAgent = navigator.userAgent; 6 var iframe = parent.document.getElementById("contentIframe"); 7 var subdoc = iframe.contentDocument || iframe.contentWindow.document; 8 var subbody = subdoc.body; 9 var realHeight; 10 //谷歌浏览器特殊处理 11 if(userAgent.indexOf("Chrome") > -1){ 12 realHeight = subdoc.documentElement.scrollHeight; 13 } 14 else{ 15 realHeight = subbody.scrollHeight; 16 } 17 if(realHeight < height){ 18 $(iframe).height(height); 19 } 20 else{ 21 $(iframe).height(realHeight); 22 } 23 }
亲测谷歌、火狐、ie8+通过。第一次发博文试试水 ^_^
以上是关于iframe高度自适应,终于解决了的主要内容,如果未能解决你的问题,请参考以下文章
完美实现跨域Iframe高度自适应Iframe跨域高度自适应解决方案