用js自适应iframe的大小...
时间:2010-08-15 来源:pigHead_chen
方法一,很容易想到,
<mce:script language="javascript" type="text/javascript"><!-- function getElement(aID) { return (document.getElementById) ? document.getElementById(aID) : document.all[aID]; } function getIFrameDocument(aID) { var rv = null; var frame = getElement(aID); if (frame.contentDocument) rv = frame.contentDocument; else // bad Internet Explorer ;) rv = document.getElementById(aID).document; return rv; } function adjustMyFrameHeight() { var frame = getElement("myIFrame"); var frameDoc = getIFrameDocument("myIFrame"); if (navigator.appName == "Microsoft Internet Explorer") frame.style.height = frameDoc.body.scrollHeight + 'px'; else frame.style.height = frameDoc.body.offsetHeight + 'px'; } // --></mce:script>
这种方法存在缺点,取得的高度有偏差(在我的机子上是这样,本应该是150px,但取出860px)。
另一种方法:
<mce:script language="javascript" type="text/javascript"><!-- function calcHeight() { var the_height = document.getElementById('myIFrame').contentWindow.document.body.scrollHeight; document.getElementById('myIFrame').style.height = (the_height + 10) + "px"; } // --></mce:script>
jQuery里取得iframe 高度就用这个方法。推荐使用。
另外,这两种方法都不能跨域使用。