JavaScript四大家族之client家族

javascript 元素对象拥有client家族主要属性:

 

clientHeight:  (可见区域高度:height+padding)

 

clientWidth:  (可见区域宽度:width+padding)

 

clientLeft  (资料显示是当前元素的offsetLeft距离当前窗口左边的距离,但通过我的测试发现值永远等于border-left,并且在w3c的DOM Element上找不到clientLeft相关信息)

 

clientTop  (资料显示是当前元素的offsetLeft距离当前窗口左边的距离,但通过我的测试发现值永远等于border-top,并且在w3c的DOM Element上找不到clientTop相关信息)

 

client可通过元素对象的属性clientWidth和clientHeight找到它。

 

但整个浏览器的滚动条即document的滚动条元素归属存在兼容性问题。

 

IE678以及其他浏览器认为整个文档对象属于document.documentElement元素的即html。

 

未声明DTD <!DOCTYPE html> 的浏览器认为文档对象属于document.body元素的。

 

所以只要找正确元素即可实现浏览器兼容。if(document.CompatMode==CSS1Compat)表示支持document.documentElement元素,else 表示支持document.body元素。

 

最新浏览器IE9+及其他浏览器都认为整个文档属于Window对象的,可通过Window.innerWidth和Window.innerHeight获得

 

注:参考网址http://www.w3school.com.cn/jsref/dom_obj_all.asp

上一篇:阿里云全面布局云原生数据库产品体系,点亮企业数据上云之路


下一篇:深入剖析 Java 反序列化漏洞(上)