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 相关文章推荐
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
Mar 02 Javascript
详解AngularJS过滤器的使用
Mar 11 Javascript
javascript 判断页面访问方式电脑或者移动端
Sep 19 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
微信小程序实现团购或秒杀批量倒计时
Nov 01 Javascript
vue-week-picker实现支持按周切换的日历
Jun 26 Javascript
vue.js实现只能输入数字的输入框
Oct 19 Javascript
js实现打字小游戏
Dec 17 Javascript
Vue 自适应高度表格的实现方法
May 13 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
Jul 30 Javascript
vue调用本地摄像头实现拍照功能
Aug 14 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 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
完美的php分页类
2017/10/24 PHP
FCK调用方法..
2006/12/21 Javascript
htm调用JS代码
2007/03/15 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
python创建文本文件的简单方法
2020/08/30 Python
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
团日活动策划书
2014/02/01 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
关于青春的演讲稿
2014/05/05 职场文书
党日活动总结
2014/05/07 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
委托书格式要求
2015/01/28 职场文书
升职自荐信范文
2015/03/27 职场文书
标准发言稿结尾
2019/07/18 职场文书
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js