2013-02-07 33 views
0

我正在尝试调整iframe的大小。我的代码在Chrome和Interner Explorer中工作,但不在Firefox中。有人可以解释为什么。调整iframe的大小,而不是在Firefox中工作

这里是我的javascript:

<script type="text/javascript" language="javascript"> 

function autoResize(id){ 
var newheight; 


if(document.getElementById){ 
    newheight=document.getElementById(id).contentDocument .body.scrollHeight; 

} 

document.getElementById(id).height= newheight; 

} 
</script> 

这里是我的iframe:

<iframe id="myframe" src="http://www.somesite.com/content/index.php" frameborder="0" scrolling="no" width="900px" onLoad="autoResize('myframe');"></iframe> 
+0

你在这里有什么错误吗?在这里给出一个警告,看看你是否真的在Firefox中获得高度。 –

+0

www.somesite.com是否与你的脚本同源?网页处于怪异模式或标准模式下的子帧中? –

回答

0

也许是因为你不发送传递id作为参数在函数调用中的if语句。试试这个:

<script type="text/javascript" language="javascript"> 

    function autoResize(id){ 

    if(document.getElementById(id)){ 
     document.getElementById(id).height = document.getElementById(id).contentDocument .body.scrollHeight; 

    } 
} 
</script> 
+0

这也适用于Chrome和IE,但不适用于Firefox(18.0.2)。 – user2050491