JS获取各种浏览器窗口大小的方法


Posted in Javascript onJanuary 14, 2014

常用:
JS 获取浏览器窗口大小

// 获取窗口宽度 
if (window.innerWidth) 
winWidth = window.innerWidth; 
else if ((document.body) && (document.body.clientWidth)) 
winWidth = document.body.clientWidth; 
// 获取窗口高度 
if (window.innerHeight) 
winHeight = window.innerHeight; 
else if ((document.body) && (document.body.clientHeight)) 
winHeight = document.body.clientHeight; 
// 通过深入 Document 内部对 body 进行检测,获取窗口大小 
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) 
{ 
winHeight = document.documentElement.clientHeight; 
winWidth = document.documentElement.clientWidth; 
}

详细:
关于获取各种浏览器可见窗口大小:
<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.clientWidth
document.body.clientHeight
即可获得,很简单,很方便。
而在公司项目当中:

Opera仍然使用
document.body.clientWidth
document.body.clientHeight

可是IE和FireFox则使用
document.documentElement.clientWidth
document.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 ==> 0
document.documentElement.clientHeight ==> 0

FireFox为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

Opera为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

Javascript 相关文章推荐
Ext.MessageBox工具类简介
Dec 10 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
jQuery实现form表单reset按钮重置清空表单功能
Dec 18 Javascript
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
详解Vue双向数据绑定原理解析
Sep 11 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
详解vue表单——小白速看
Apr 08 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 #Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 #Javascript
节点的插入之append()和appendTo()的用法介绍
Jan 13 #Javascript
移动节点的jquery代码
Jan 13 #Javascript
删除节点的jquery代码
Jan 13 #Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 #Javascript
js实现的map方法示例代码
Jan 13 #Javascript
You might like
php下MYSQL limit的优化
2008/01/10 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
php给图片加文字水印
2015/07/31 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
JS实现微信摇一摇原理解析
2017/07/22 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
总经理文秘岗位职责
2014/02/03 职场文书
升职演讲稿范文
2014/05/23 职场文书
食品安全处置方案
2014/06/14 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
抄袭同学作业检讨书1000字
2014/11/20 职场文书
工程技术员岗位职责
2015/04/11 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
学校安全管理制度
2015/08/06 职场文书
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python