关于获取各种浏览器可见窗口大小的一点点研究<script>function getInfo(){    var s = "";    s += " 网页可见区域宽:"+ document.body.clientWidth;    s += " 网页可见区域高:"+ document.body.clientHeight;    s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)";    s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)";    s += " 网页正文全文宽:"+ document.body.scrollWidth;    s += " 网页正文全文高:"+ document.body.scrollHeight;    s += " 网页被卷去的高(ff):"+ document.body.scrollTop;    s += " 网页被卷去的高(ie):"+ document.documentElement.scrollTop;    s += " 网页被卷去的左:"+ document.body.scrollLeft;    s += " 网页正文部分上:"+ window.screenTop;    s += " 网页正文部分左:"+ window.screenLeft;    s += " 屏幕分辨率的高:"+ window.screen.height;    s += " 屏幕分辨率的宽:"+ window.screen.width;    s += " 屏幕可用工作区高度:"+ window.screen.availHeight;    s += " 屏幕可用工作区宽度:"+ window.screen.availWidth;    s += " 你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色";    s += " 你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";    //alert (s);}getInfo();</script>在我本地测试当中:在IE、FireFox、Opera下都可以使用document.body.clientWidthdocument.body.clientHeight即可获得,很简单,很方便。而在公司项目当中:Opera仍然使用document.body.clientWidthdocument.body.clientHeight可是IE和FireFox则使用document.documentElement.clientWidthdocument.documentElement.clientHeight原来是W3C的标准在作怪啊<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">如果在页面中添加这行标记的话在IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域宽度document.documentElement.clientHeight ==> 可见区域高度在FireFox中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域宽度document.documentElement.clientHeight ==> 可见区域高度?在Opera中: document.body.clientWidth ==> 可见区域宽度document.body.clientHeight ==> 可见区域高度document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)而如果没有定义W3C的标准,则IE为:document.documentElement.clientWidth ==> 0document.documentElement.clientHeight ==> 0FireFox为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)Opera为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

 

©著作权归作者所有:来自51CTO博客作者mb607558ea4fef1的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. javascript创建对象几种方式
  2. orm操作
  3. 高并发第六弹:线程封闭(ThreadLocal)
  4. Java并发编程学习4-线程封闭和安全发布
  5. 数组,对象,传参解构; 访问器属性的get,set
  6. DBMS_METADATA包获得对象DDL语句
  7. JavaScript 基本数据类型
  8. 最新整理:iOS面试题-面试常问问题(一)
  9. JavaScript:演示Ajax的get和post请求,练习选顶卡和换肤案例

随机推荐

  1. XE8 (RTM) Android SDK 更新安装
  2. Android(安卓)Notes 之 Tween动画 (3)添加
  3. Android学习笔记(二八):字体
  4. android 仿微信聊天界面,以及语音录制功能
  5. Android UnitTest FrameWork
  6. android 定位 代码关于android gps定位最
  7. Android(安卓)MMS专题
  8. Android 之不要滥用 SharedPreferences(上
  9. Android架构组件-WorkManager
  10. Android中gravity与layout_gravity的区别