调整iframe的大小以适应其内容

调整iframe的大小以适应其内容,iframe,resize,Iframe,Resize,可能重复: 我有一个iframe,其中src是一个HTML文件,这个iframe放在usercontrol中: <iframe frameborder="0" src="CName.htm" align="left" width="730" height="1100" ></iframe> 我需要iframe根据内容调整大小,以便它的高度根据HTML文件的高度设置,而不需要使用滚动属性。 你知道吗?你可以计算出框架内内容的高度和宽度,然后调用框架所有者的函数来设置

可能重复:

我有一个iframe,其中src是一个HTML文件,这个iframe放在usercontrol中:

<iframe frameborder="0" src="CName.htm" align="left" width="730" height="1100" ></iframe>

我需要iframe根据内容调整大小,以便它的高度根据HTML文件的高度设置,而不需要使用滚动属性。
你知道吗?

你可以计算出框架内内容的高度和宽度,然后调用框架所有者的函数来设置iframe元素的高度和宽度。

有一种方法!它在jquery中,太简单了。有点黑

$('iframe').contents().find('body').css({"min-height": "100", "overflow" : "hidden"});
setInterval( "$('iframe').height($('iframe').contents().find('body').height() + 20)", 1 );
好了


干杯!:)

我使用了以下jQuery代码来实现这一点:

$('#iframe_id').load(function () {
    $(this).height($(this).contents().height());
    $(this).width($(this).contents().width());
});

但是,我认为如果iframe内容是跨域的,这将不起作用。

请看链接的答案已经过时,请看一个更简单的解决方案。只有当iframe及其父项不违反同一来源策略时,这才起作用。要跨域执行,您需要为此使用postMessage API,您还需要检查窗口大小调整事件和DOM变化,以便iFrame保持内容的大小。看看这个库,它会帮你处理所有这些事情。
+20
是干什么的?