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 DOM学习第四章 getElementByTagNames
Feb 19 Javascript
jquery 插件开发备注
Aug 27 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
Jan 15 Javascript
Javascript 判断是否存在函数的方法
Jan 03 Javascript
网页中返回顶部代码(多种方法)另附注释说明
Apr 24 Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
Dec 17 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
Aug 28 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
微信小程序利用for循环解决内容变更问题
Mar 05 Javascript
利用vue3+ts实现管理后台(增删改查)
Oct 30 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
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
python获取网页状态码示例
2014/03/30 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
20岁生日感言
2014/01/13 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
岗位聘任书范文
2014/03/29 职场文书
婚前协议书
2014/04/15 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
五一口号
2014/06/19 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
授权委托书怎么写
2014/09/25 职场文书
担保书格式
2015/01/20 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js