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与WebMethod投票功能实现代码
Jan 19 Javascript
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
jQuery实现带动画效果的二级下拉导航方法
Mar 11 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 Javascript
移动适配的几种方案(三种方案)
Nov 25 Javascript
layui分页效果实现代码
May 19 Javascript
使用原生js封装的ajax实例(兼容jsonp)
Oct 12 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
Vue实现图片轮播组件思路及实例解析
May 11 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编码规范的深入探讨
2013/06/06 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
python 读写中文json的实例详解
2017/10/29 Python
python opencv读mp4视频的实例
2018/12/07 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
网页美工求职信
2014/02/15 职场文书
小小的船教学反思
2014/02/21 职场文书
经典团队口号
2014/06/06 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
Python实现天气查询软件
2021/06/07 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python