javascript获取网页宽高方法汇总


Posted in Javascript onJuly 19, 2015

document.body.clientWidth - 网页可见区域宽
document.body.clientHeight - 网页可见区域高

document.body.offsetWidth - 网页可见区域宽,包括边线和滚动条的宽
document.body.offsetHeight - 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高,IE opera 下正常]

document.body.scrollWidth - 网页总宽
document.body.scrollHeight - 网页总高

document.body.scrollTop - 有滚动条的时候,向下拖动滚动条,上方不显示的那部分高度
document.body.scrollLeft - 同上

window.innerHeight - 浏览器窗口的内部高度

window.innerWidth - 浏览器窗口的内部宽度

window.screenTop - 网页正文部分上[网页文档的最上方距离屏幕最上方的距离,但FF不支持,Chrom,IE,Opera表现都不同,慎用]
window.screenLeft - 网页正文部分左[网页文档的最左方距离屏幕最左方的距离,但FF不支持,Chrom,IE,Opera表现都不同,慎用]

window.screen.height - 屏幕分辨率的高度
window.screen.width - 屏幕分辨率的宽度

window.screen.availHeight - 可用工作区高度[整个屏幕但不包括下方任务栏]
window.screen.availWidth - 可用工作区宽度[整个屏幕的宽度]

window.screen.clorDepth - 屏幕色彩,常用的16,32位等
window.screen.deviceXDPI - 屏幕像素/英寸【IE支持,其它不支持】

JavaScript 获取页面宽高的方法

<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 相关文章推荐
jquery 插件学习(六)
Aug 06 Javascript
jQuery选择器全面总结
Jan 06 Javascript
详谈LABJS按需动态加载js文件
May 07 Javascript
限制只能输入数字的实现代码
May 16 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
Bootstrap Modal遮罩弹出层(完整版)
Nov 21 Javascript
ECMAScript6--解构
Mar 30 Javascript
vue模仿网易云音乐的单页面应用
Apr 24 Javascript
JavaScript ES 模块的使用
Nov 12 Javascript
js实现简单的倒计时
Jan 28 Javascript
JavaScript流程控制(循环)
Dec 06 Javascript
jQuery获取URL请求参数的方法
Jul 18 #Javascript
jQuery增加自定义函数的方法
Jul 18 #Javascript
jQuery插件简单实现方法
Jul 18 #Javascript
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 #Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 #Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 #Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 #Javascript
You might like
一个简易需要注册的留言版程序
2006/10/09 PHP
PHP session会话的安全性分析
2011/09/08 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
js编写选项卡效果
2017/05/23 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python实现针对中文排序的方法
2017/05/09 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python将视频转换为全字符视频
2019/04/26 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
深入学习python多线程与GIL
2019/08/26 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Python3的socket使用方法详解
2020/02/18 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
keras.layer.input()用法说明
2020/06/16 Python
出纳岗位职责模板
2013/11/27 职场文书
升旗仪式主持词
2014/03/19 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
商标侵权律师函
2015/05/27 职场文书
社会实践心得体会范文
2016/01/14 职场文书