本代码主要解决的问题是:最外层滚动条随着iframe高度动态变化的问题。如果iframe高度比较大最外层就会出现滚动条,否则就不会。网上好多例子的问题都是iframe只保留最大的高度以至于页面内容高度很小但是右边还有滚动条。
/** * iframe自适应高度,height为手动设置的最小高度 */ function initIframeHeight(height){ var userAgent = navigator.userAgent; var iframe = parent.document.getElementById("contentIframe"); var subdoc = iframe.contentDocument || iframe.contentWindow.document; var subbody = subdoc.body; var realHeight; //谷歌浏览器特殊处理 if(userAgent.indexOf("Chrome") > -1){ realHeight = subdoc.documentElement.scrollHeight; } else{ realHeight = subbody.scrollHeight; } if(realHeight < height){ $(iframe).height(height); } else{ $(iframe).height(realHeight); } }