2013-10-12 25 views
0

我知道有一个关于重新调整大小iframe但我发现很多帖子是这样的代码:自动调整大小的iframe是动态变化的高度(更小或更大)

<script type="text/javascript" language="JavaScript"> 
<!--    
     function autoResize(id) { 
      var newheight; 
      var newwidth; 

      if (document.getElementById) { 
       newheight = document.getElementById(id).contentWindow.document.body.scrollHeight; 
       newwidth = document.getElementById(id).contentWindow.document.body.scrollWidth; 
      } 
      document.getElementById(id).height = (newheight); 
      document.getElementById(id).width = (newwidth); 
     }; 
//--> 
</script> 

,这是样品标记上面的代码正在工作,但我有一个问题。考虑此方案:

index.php page height is 800px 

profile.php page height is 1200px 

当我点击链接到index.php页面的iframe调整大小以800px,然后我点击链接profile.php页和iframe调整大小以1200px但是这是我的问题,当我再次点击链接到index.php这是高度小于profile.php页面时,iframe没有调整大小和不适应高度800px,它会导致下面的多余空间index.php的内容看起来不太好,我没有增加iframe高度的问题,但在缩小它的时候遇到了一些麻烦,任何人都可以帮我一把吗?任何帮助表示赞赏。谢谢!

+0

home.php与index.php相同吗? – kroonwijk

+0

oww,对不起,是的,它是一样的,只是一些错字。 –

+0

问题在浏览器中是相同的,还是只针对特定的问题? – kroonwijk

回答

0

为什么不只是做:

height: auto; 
max-height: 1200px; 

在中风格= “” 或直通一个CSS文档的iframe本身。

如果height设置为auto,那么index.php不需要使用1200px。但是当显示profile.php时,它允许使用最大1200px。

+0

这不起作用,并且给定页面的高度只是一个示例,它是一个动态高度,我没有增加iframe大小的问题,但在收缩方面存在问题。 –

+0

然后,你必须更具体。张贴在jsfiddle上。设置最大高度仍然有助于两种方式。 F.ex;将最大高度设置为显示iframe的页面高度并溢出:scroll;在iframe上设置。 –

0

我转载了这个问题。

问题似乎是使用了scrollHeight和scrollWidth,它们通过意图返回滚动条的当前或所需空间,这不等于文档本身的大小。

问题就没有了我,当我改变

newheight = document.getElementById(id).contentWindow.document.body.scrollHeight; 
newwidth = document.getElementById(id).contentWindow.document.body.scrollWidth; 

newheight = document.getElementById(id).contentWindow.document.body.style.height; 
newwidth = document.getElementById(id).contentWindow.document.body.style.width; 

是可行的你,或者这是不是你的控制之下?

+0

你好kroonwijk,是的,我可以编辑脚本,我试过但没有解决我的问题,谢谢你的努力 –