如何根据内容调整iframe的大小?

时间:2010-07-06 16:58:59

标签: javascript html

我希望iframe足够大,不会有滚动条,如果需要,需要浏览器渲染滚动条。

之前有过帖子,我知道......但很多人相当我的问题。

主页面和iframe位于同一个域中。

2 个答案:

答案 0 :(得分:0)

<html>
<script type="text/javascript">
function autoIframe(frameId){
try{
frame = document.getElementById(frameId);
innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
objToResize = (frame.style) ? frame.style : frame;
objToResize.height = innerDoc.body.scrollHeight + 10;
}
catch(err){
window.status = err.message;
}
}
</script>



<iframe id="tree" name="tree" src="tree.htm" onload="if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('tree');}"></iframe>

这是我在模板中保存的脚本,但它不是我的!但我不记得谁是作者......

在google上进行搜索返回:

<script language="JavaScript">

function calcHeight()
{
  //find the height of the internal page
  var the_height=
    document.getElementById('the_iframe').contentWindow.
      document.body.scrollHeight;

  //change the height of the iframe
  document.getElementById('the_iframe').height=
      the_height;
    }
<iframe name="the_iframe" onLoad="calcHeight();" scrolling="no" width="730"  id="the_iframe" src="you_page.html" frameborder="0" allowtransparency="true"></iframe>

答案 1 :(得分:0)

如果iFrame位于同一个域中,您可以访问它们的内容:

http://roneiv.wordpress.com/2008/01/18/get-the-content-of-an-iframe-in-javascript-crossbrowser-solution-for-both-ie-and-firefox/

这样做你应该能够从内容中获得某种高度/宽度/偏移值,并适当调整iframe的大小。

当然,如果它们确实位于同一个域中,那么对DIV的AJAX调用可能会更有意义。