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 相关文章推荐
javascript字典探测用户名工具
Oct 05 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
使用Node.js为其他程序编写扩展的基本方法
Jun 23 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
Aug 15 Javascript
基于jQuery插件实现点击小图显示大图效果
May 11 Javascript
在JavaScript中模拟类(class)及类的继承关系
May 20 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
Dec 19 Javascript
webpack学习教程之publicPath路径问题详解
Jun 17 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
Apr 04 Javascript
微信小程序网络封装(简单高效)
Aug 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
深入了解php4(1)--回到未来
2006/10/09 PHP
php实现的简单日志写入函数
2015/03/31 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python抽象基类用法实例分析
2015/06/04 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
python:接口间数据传递与调用方法
2018/12/17 Python
详解python读取image
2019/04/03 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
期末学生评语大全
2014/04/24 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
单位租房协议范本
2014/12/03 职场文书
健康证明
2015/06/19 职场文书
三国演义读书笔记
2015/06/25 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL