iframe的高度自适应问题,加了下面这个,在safari里显示ok,正好是我要的效果,但是firefox就不行了,高度边成最小值了~
咋回事啊?有没有别的好办法? <iframe id="ifr" frameborder="0" scrolling=no onload="this.style.height = window.frames.ifr.document.documentElement.scrollHeight+'px'" src="faq/s.html"></iframe>
咋回事啊?有没有别的好办法? <iframe id="ifr" frameborder="0" scrolling=no onload="this.style.height = window.frames.ifr.document.documentElement.scrollHeight+'px'" src="faq/s.html"></iframe>
<script src="jquery-1.4.2.js"></script>
<script> function autoHeightIFrameNavigate(iframeId,url)
{
var iframe = $('#' + iframeId);
iframe.attr('_name_',iframe.attr('name')) //备份原来的 name
.attr('src',url) //设置URL
.one('load',function () {
this.contentWindow.location = "about:blank"; //导向代理页面,我直接使用了这个
$(this).one('load',function () {
var msg = this.contentWindow.name; //得到值 这个值就是高度了
this.contentWindow.name = $(this).attr('_name_'); //恢复原来的 Name
this.contentWindow.location = url; //再次导向目标页面
try
{
var height = eval(msg); //得到并设置高度
// alert(height);
iframe.css('height', height + 'px');
}
catch(e)
{
//alert('目标页面没有设置高度到 window.name')
}
})
})
} $(document).ready(function(){
autoHeightIFrameNavigate('iframe_id','http://www.xxxx.com');
$("#iframe_id").show();
},1);
</script>
<style type="text/css">
body{background:url("bg_main.jpg") repeat-y scroll center top transparent; text-align:center; }
#iframe_id{display:none;}
</style>
<body><iframe id="iframe_id" frameborder="0" width="987" height="0" scrolling="no"></body>在www.xxxx.com 页面上设置 window.name=document.body.scrollHeight;
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FAQS </title>
<script type="text/javascript">
function DoMenu(num)
{
if(document.getElementById("ChildMenu"+num).className === "liblock")
{
document.getElementById("ChildMenu"+num).className = "collapsed";
document.getElementById("liParent"+num).className = "sub_and";
}else
{
document.getElementById("ChildMenu"+num).className = "liblock";
document.getElementById("liParent"+num).className = "sub_Min";
}
}
window.onload = function()
{
for (j=1;j<10;j++)
{
var anchor = document.getElementById("ChildMenu"+j).getElementsByTagName('a');
var ifr = document.getElementById('ifr');
for (var i=0;i<anchor.length;i++)
{
anchor[i].onclick = function()
{ ifr.src = this.href;
return false;
}
}
}
}
</script>
<link href="faq.css" rel="stylesheet" media="all" type="text/css" />
</head>
<body>
<div id="wrapper" >
<div id="main" >
<iframe id="ifr" frameborder="0" scrolling=no onload="this.style.height = window.frames.ifr.document.documentElement.scrollHeight+'px'" src="1.html"></iframe>
</div>
<div id="PARENT"> <ul class="nav">
<li id="liParent1" class="sub_and"><a href="#Menu=ChildMenu1" onClick="DoMenu(1,1)">Advertising</a>
<ul id="ChildMenu1" class="collapsed">
<li><a href="faq/1.html" #Menu=ChildMenu1>Advertising1</a></li>
<li><a href="faq/2.html" #Menu=ChildMenu1>Advertising2</a></li>
<li><a href="faq/3.html" #Menu=ChildMenu1>Advertising3</a></li>
<li><a href="faq/4.html" #Menu=ChildMenu1>Advertising4</a></li>
<li><a href="faq/5.html" #Menu=ChildMenu1>Advertising5</a></li>
</ul>
</li>
</ul>
</div>
</div>
</body>
</html> *{padding:0px; margin:0px;}
#PARENT {
width:220px;
height:1000px;
margin:50px;
float:left;
display:block;
position:relative;
}
#main{
}
#main iframe {
border-left:2px solid gray;
width:800px;
margin:50px 20px;
float:left;
position: absolute;
left:240px;
}
.nav {
font-family: arial, serif;
font-size:12px;
width:200px;
line-height:24px;
list-style-type:none;
text-align:left;
float:left;
}
.nav a {
width: 150px;
display: block;
padding-left:20px;
}
.nav li {
float:left;
color:#DD1336;
font-weight:bold;
}
.nav li ul {
list-style:none;
text-align:left;
padding-left:15px;
}
.nav li ul li {
padding:1px;
font-weight:normal;
width:180px;
background:;
}
.nav li ul a {
width:170px;
padding-left:10px;
}
.nav li:hover ul {
left: auto;
}
.nav li.sfhover ul {
left: auto;
}
#content {
clear: left;
}
.nav ul.collapsed {
display: none;
}
.nav ul.liblock {
display:block;
}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>main</title>
</head><body>
<h1 align="center">1</h1>
<h1 align="center">2</h1>
<h1 align="center">3</h1>
<h1 align="center">4</h1>
<h1 align="center">5</h1>
<h1 align="center">6</h1>
<h1 align="center">7</h1>
</body>
</html>