focus 专栏

--专注于.NET Web开发技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

前面发过两篇关于自适应 iframe 高度的问题
方法在公司机器上测试都通过
原来以为这样已经没什么问题了
不过今天拿到客户那一看,哦靠, iframe 里面居然还是出现了滚动条!!!
回来一番折腾
我跟踪脚本查看 document.body 的 offsetHeight,clientHeight,scrollHeight 这三个属性值
晕,居然三个值都是 1140 (我们的显示器分辨率是 1280 * 1024)
所以我怀疑这个值很有可能就是 clientHeight 的值(clientHeight 大概就是通过浏览器看到的内容的高度吧)
难怪拿到客户那边他们出现了滚动条(他们的分辨率是 1024 * 768)
后来将 aspx 页面中的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
换成
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
再次跟踪 offsetHeight,clientHeight,scrollHeight 三个属性值
完全恢复正常!
将页面放到小的显示器里查看
ok, 难看的滚动条终于不出来了
从这里似乎可以看出是不同的标准使得浏览器对这三个属性的解释不一样
vs2005 里默认引用的是 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">