在任何其他元素上,我将使用scrollHeight
DOM对象并相应地设置高度.我不知道这是否适用于iframe(因为它们对所有内容都有点怪异),但它确实值得一试.
编辑:浏览过后,流行的共识是使用以下内容在iframe中设置高度offsetHeight
:
function setHeight() { parent.document.getElementById('the-iframe-id').style.height = document['body'].offsetHeight + 'px'; }
并附加与iframe-body的onLoad
事件一起运行.
在任何其他元素上,我将使用scrollHeight
DOM对象并相应地设置高度.我不知道这是否适用于iframe(因为它们对所有内容都有点怪异),但它确实值得一试.
编辑:浏览过后,流行的共识是使用以下内容在iframe中设置高度offsetHeight
:
function setHeight() { parent.document.getElementById('the-iframe-id').style.height = document['body'].offsetHeight + 'px'; }
并附加与iframe-body的onLoad
事件一起运行.
尝试:
jQuery的iframe的自动高度
iframe的大小调整
我碰巧遇到了你的问题,我有一个解决方案.但它在jquery.它太简单了.
$('iframe').contents().find('body').css({"min-height": "100", "overflow" : "hidden"}); setInterval( "$('iframe').height($('iframe').contents().find('body').height() + 20)", 1 );
你去!
干杯! :)
编辑:如果你有一个基于iframe方法的富文本编辑器而不是div方法,并希望它扩展每一个新行,那么这段代码将完成所需.
这是一个死的简单解决方案,适用于每个浏览器和跨域:
首先,这适用于以下概念:如果包含iframe的html页面设置为100%的高度,并且使用css将iframe设置为100%的高度,那么css将自动调整所有内容的大小.
这是代码: