您的位置:首页 > Web前端 > JavaScript

用js自适应iframe的大小

2010-08-16 14:02 281 查看
方法一,很容易想到,

<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 高度就用这个方法。推荐使用。

另外,这两种方法都不能跨域使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: