iframe在chrome / safari中使用scrollheight调整大小

时间:2010-06-16 12:11:54

标签: javascript html iframe resize

我正在尝试根据内容调整iframe的大小(变大或变小)。单击每个页面后,将调用一个调整大小的方法。

在Chrome中,我可以让iframe更大,但不能更小。 document.body.scrollHeight始终是最大的价值。

因此,如果一个大页面设置了#iframe.height ='620px',并且有人点击了内容较少的网页链接,则scrollHeight将保持在620px而不是降低。

在Chrome / Safari中处理此问题的正确方法是什么?

3 个答案:

答案 0 :(得分:24)

在请求iframe内文档的高度之前,您应该将iframe对象的高度设置为“auto”。像这样:

objIframe = document.getElementById('theIframeId');    
objIframe.style.height = 'auto';

现在:

document.body.scrollHeight

返回文档的实际高度。

答案 1 :(得分:11)

您是否尝试使用document.documentElement.scrollHeight

答案 2 :(得分:0)

根据规范,Element.scrollHeight会将值四舍五入为整数。如果您需要精确的小数值,请改用Element.getBoundingClientRect()