首页 > 代码库 > 关于iframe滚动条的显示控制问题

关于iframe滚动条的显示控制问题

引自:http://webkafa.blog.163.com/blog/static/17483446320081151010723/

问题描述:

    最近在做项目的时候,使用了iframe来控制页面显示。发现当iframe指向的页面高度大于iframe高度,而页面宽度小于iframe宽度时,会同时出现水平和垂直滚动条。正常情况,应该只出现垂直滚动条,只有页面宽度大于iframe宽度时,才会出现水平滚动条。

 

测试环境:

    IE6,这个问题在IE7下不存在,属于IE的一个Bug。

 

解决办法:

    方法一:经过研究,发现出现这种问题的原因是由于页面采用xhtml1-transitional.dtd规范造成的。如果去掉了头部的DTD;

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

滚动条的问题就能解决。

 

    方法二:此方法也是最终解决办法(优于第一种方法)。在页面的onload事件里添加js脚本如下:

    document.body.style.width=document.documentElement.clientWidth;
    document.body.style.height=document.documentElement.clientHeight;

关于iframe滚动条的显示控制问题