innerWidth与innerHeight属性
说明:window对象的只读属性,声明了窗口的文档显示区的高度和宽度,以像素(px)为计量单位。 (注意:这里的宽度和高度不包括菜单栏、工具栏以及滚动条等的高度)
下面便对这两个属性进行验证:
屏幕分辨率为:1920x1080 浏览器:QQ浏览器(内核是Chrome) 代码如下:
var width=window.innerWidth,height=window.innerHeight; //分别定义width和height接收窗口的高和宽
alert(width); //窗口的宽度 1920px
alert(height); //窗口的高度 950px
innerWidth因为浏览器两旁没有遮挡物,所以完美的得到了屏幕的宽度1920,而innerHeight因为浏览器上面有工具栏,显示屏又有任务栏,所以被挤掉了130px
这次博主依次干掉了任务栏(其实就是隐藏了)和工具栏中的标签页 并按下F12加上了开发者选项 再次进行测试:
获取到全部高度
/————————又干掉标签页后,并加上开发者选项后————————/
var width=window.innerWidth,height=window.innerHeight;
alert(width); //1381px,说明浏览器开发者选项,对innerWidth有影响 1920-1381=549px
alert(height); //而窗口的高度979px,任务栏占40px,标签页占了11px(990-979) 而由此得出剩下的工具栏占了1080-979=101px
结论:
说明innerHeight和innerWidth确实只计算显示窗口像素,如果没有菜单栏、工具栏等外部因素挤压它,它就会自动延伸,而如果有就只按显示窗体走测试完外部的因素,下面测试一下内部的因素滚动条