解決火狐iframe兼容IE6、7、8

做網站最怕就是遇到不兼容問題,有時候在IE下看網頁是非常完美的,可在火狐上一看變得一塌糊塗。這不?今天就遇到一個非常麻煩的問題,弄瞭半天,最終還是弄好瞭。這個問題是在網頁上調用iframe標簽的時候不能完全顯示所調用頁面的高度,隻顯示一半,在IE下沒有問題,火狐就麻煩瞭。下面是解決代碼:

在網頁<body>標簽之前插入以下代碼:

<script language=javascript>
function turnHeight(iframe)
{
var frm = document.getElementById(iframe);
var subWeb = document.frames ? document.frames[iframe].document : frm.contentDocument;
if(frm != null subWeb != null)
{ frm.height = subWeb.body.scrollHeight + 20;}
}
</script>

調用代碼如下:

<IFRAME id=iframe1 src=http://www.8671.co/main/sf.php frameBorder=0 width=986 scrolling=no onload=turnHeight('iframe1'); height=100%></IFRAME>

這樣就能解決火狐iframe自適應高度的問題,而且兼容IE。

註意,iframe頁面中的元素,不能使用float屬性和display屬性,否則在火狐中獲取到的iframe高度將為0,導致自適應高度失敗。