这里两种情况来讨论,第一种是IE浏览器,第二种是非IE浏览器,例如谷歌浏览器。
下面我们来介绍一种统筹兼顾这两种情况的解决方法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>iframe tag test</title>
<style type="text/css">
html, body
{
margin: 0px 0px;
width: 100%;
height: 100%;
}
iframe
{
margin: 0px 0px;
width: 100%;
height: 100%;
}
.atheight{height:expression(document.body.clientHeight-58 + "px" ); padding:0px; margin:0px;}
.atheight2{margin: 0px 0px;
width: 100%;
height: 100%;}
</style>
<script type="text/javascript">
function ie_ck(){
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
if (window.ActiveXObject)
Sys.ie = ua.match(/msie ([\d.]+)/)[1]
else if (document.getBoxObjectFor)
Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1]
else if (window.MessageEvent && !document.getBoxObjectFor)
Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1]
else if (window.opera)
Sys.opera = ua.match(/opera.([\d.]+)/)[1]
else if (window.openDatabase)
Sys.safari = ua.match(/version\/([\d.]+)/)[1];
//以下进行测试
if(Sys.ie){document.getElementById('ifm').className="atheight";}
if(Sys.firefox){document.getElementById('ifm').className="atheight2";}
if(Sys.chrome){document.getElementById('ifm').className="atheight2";}
if(Sys.opera){document.getElementById('ifm').className="atheight2";}
if(Sys.safari){document.getElementById('ifm').className="atheight2";}
}
</script>
</head>
<body οnlοad="ie_ck();">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td height="60px" bgcolor="#FF0000">
</td>
</tr>
<tr>
<td bgcolor="#0000FF"><div id="ifm" ><iframe id="iframeId" frameborder="0" scrolling="No"
src="http://www.baidu.com" /></iframe></div></td>
</tr>
</table>
</body>
</html>