IFRAME原来是高度530,在IE6下正好,其他浏览器或者分辨率下会高度过低,框架下面留白,然后找了自适应的代码如下:
<div id="content"> <iframe id="UFrame" name="UFrame" width="100%" frameborder="0" scrolling="yes" marginwidth="0" marginheight="0" ></iframe> <script type="text/javascript"> function reinitIframe(){ var iframe = document.getElementById("UFrame"); try{ var bHeight = iframe.contentWindow.document.body.scrollHeight; var dHeight = iframe.contentWindow.document.documentElement.scrollHeight; var height = Math.max(bHeight, dHeight); iframe.height = height; }catch (ex){} } window.setInterval("reinitIframe()", 200); </script> </div>
高度自适应解决了,可是原来有滚动条的,现在没有了,如下图:
分别是IE6和CHROME下的截图,谁帮忙看下是哪里的问题?框架外层是EXTJS布局的。
function SetCwinHeight(){ var h; if(navigator.userAgent.indexOf("MSIE")>0){ h = document.getElementById("panel-1022").clientHeight - document.getElementById("header-1029").clientHeight; }else{ h = document.getElementById("ext-gen1046").clientHeight; } document.getElementById("UFrame").height = h; } window.setInterval("SetCwinHeight()", 2000);
问题的原因找到了,IFRAME的高度需要的是clientHeight,网上搜出来的都是框架内容页面的scrollHeight。
EXTJS本身已经实现高度自适应了,所以简单的方法是直接去取框架外层DIV的高度重新设定下新的高度就可以。
在IE和非IE下有点不一样!是不是跟EXTJS在IE和非IE下的加载呈现顺序有关就不太清楚了。
强大~
高度自适应了,滚动条还需要干什么?它自己隐藏了啊。
下面还有内容但是滚动条没了!
你是指这段代码影响了ExtJs的滚动条吗?
大侠说到点上了,求指教
谢谢给了思路,从EXTJS找解决方法
貌似可以让滚动套一直显示 不管有没有超出 都可以一直显示的
楼主是就想让他有滚动条还是说下面还有内容但是滚动条没了?
下面还有内容但是滚动条没了!