我正在使用此代码段动态调整页面中iframe(同一个域)的大小:
function setHeight() {
$("#myframe").height($("#myframe").contents().find("html").height());
}
适用于Chrome,FF和Safari,但不适用于IE8。任何想法为什么它不起作用?
感谢。
编辑:应该提到我从iframe onload事件调用此函数。
答案 0 :(得分:0)
我是在jsfiddle.net中这样做的,所以这里有一个链接,如果你想测试它: http://jsfiddle.net/4LQFc/5/
这是纲要:
这是您的HTML:
<!DOCTYPE html>
<html>
<body>
<div id="div_loaded">loaded div</div>
<p id="get_dimentions"></p>
<iframe src="" id="iframetosize"></iframe>
</body>
</html>
一些可选的CSS ......用于演示目的:
p {
margin:10px;
padding:5px;
border:2px solid #666;
}
#div_loaded {
position:relative;
display:block;
margin:10px;
padding:5px;
border:2px solid #666;
height:30%;
width:30%;
}
#iframetosize {
margin:10px;
padding:5px;
background-color:#000;
color:#fff;
}
这是jQuery(丑陋,但有效):
var getsize = $("#div_loaded");
$("#get_dimentions").text( "Width: " + getsize.outerWidth() + " , Height: " + getsize.outerWidth(true) );
var sizewidth = getsize.outerWidth();
var sizeheight = getsize.outerHeight();
$("#iframetosize").css('height',sizeheight);
$("#iframetosize").css('width',sizewidth);
让我知道这是否有帮助......我(我们都知道)有一些真正的问题。如果可以使用它,.css将有所帮助。您可能需要使用CSS以及outerWidth(true)vs()。