浏览器几种高度宽度

最近在做一个类似windows鼠标右键弹出菜单的东西,用到了浏览器相关的宽度和高度的东西,于是系统的看了下。心里有了大致了解,但还是有些小问题。

我的电脑,14寸,分辨率1366*768。测试浏览器ie9,chrome,firefox。

网页可见区域宽:document.body.clientWidth 
网页可见区域高:document.body.clientHeight 

  宽度随着浏览器窗口的调整而变化,是我们可见的窗口区域宽度。最大1347,最小三种浏览器各不相同。

  高度随着浏览器窗口的调整固定不变,是窗口区域所有文档的高度。chrome和firefox大小相同,ie9比之高了24px。


网页可见区域宽:document.body.offsetWidth (包括边线的宽) 
网页可见区域高:document.body.offsetHeight (包括边线的宽) 

  offsetWdith和offsetHeight比上边的多了边线的宽度,别的一模一样。


网页正文全文宽:document.body.scrollWidth 
网页正文全文高:document.body.scrollHeight 

  对于ie9和chrome,宽度是窗口区域所有文档的宽度,和窗口大小无关。而firefox,宽度随着窗口的改变而改变,最大等于clentWidth。

  高度随着浏览器窗口的调整固定不变,是窗口区域所有文档的高度。chrome比firefox高2px,ie9比chrome高了22px。


网页被卷去的高:document.body.scrollTop 
网页被卷去的左:document.body.scrollLeft 

  对chrome来说是网页被卷上去的高度,即滚动条下拉时上去的网页部分。ie9和firefox一直为0。

  宽度同高度类似,只有chrome有值。


网页正文部分上:window.screenTop 
网页正文部分左:window.screenLeft 

  对于ie9来说是网页正文部分上边的高度,即菜单栏工具栏等,55px。chrome为0,firefox是undefined.

  对ie9和chrome来说,宽度都是0。firefox是undefined。


屏幕分辨率的高:window.screen.height 
屏幕分辨率的宽:window.screen.width 

  三个浏览器一样,都是1366*768.


屏幕可用工作区高度:window.screen.availHeight 
屏幕可用工作区宽度:window.screen.availWidth

  三个浏览器都一样,高度728px,宽度1366px。768-728=40px,说明状态栏的高度为40px。

总结完毕。

问题1:在firefox中如何获得类似chrome和ie9中scrollWidth的值?因为firefox中scrollWidth至多等于clientWidth的值。

问题2:如何获得浏览器工具栏以下状态栏以上部分的高度,因为不同浏览器高度不同,我也总不能手工测量下吧?还有就是调整窗口大小后如何得到此时窗口的实际宽度?

哪位如果有解决方法,希望说下,先谢了

  

原文地址:https://www.cnblogs.com/heaventear/p/3000364.html