Difference between screen.availHeight and window.height()
我正在浏览器(Firefox)上执行以下Javascript。
console.debug("屏幕高度=" screen.availHeight); //输出770
console.debug(" Window Height =" $(window).height()); //输出210(我也使用jQuery)
两者之间有什么区别?是770像素和210毫米吗?
类似地,当我写$(document).height()和$(window).height()时,会有区别。是什么原因?
window.outerHeight
它是屏幕上窗口的高度,包括页面和所有可见浏览器的栏(位置,状态,书签,窗口标题,边框等)。
这与jQuery的$(window).outerHeight()不同。
window.innerHeight或$(window).height()
是显示网站的视口高度,仅显示内容,不显示浏览器栏。
document.body.clientHeight或$(document).height()
这是您在视口中显示的文档的高度。如果它高于$(window).height(),则会显示滚动条以滚动文档。
screen.availHeight
这是最大化浏览器窗口的高度,包括浏览器的栏。因此,当窗口最大化时,screen.availHeight === window.outerHeight
screen.height
它仅与屏幕的分辨率匹配。因此在1920×1080屏幕上,screen.height将是1080。
screen.availHeight等于[screen.height操作系统的栏],例如Windows上的任务栏,OS X上的底座和菜单,或者如果使用Linux,则固定在屏幕顶部或底部的内容。
- 我同意您的回答,但是什么是$(window).height()以及为什么此值与screen.availHeight不同。我已经用谷歌搜索了很多,但是仍然没有令人满意的答案。此外,我发现没有可用的文档可以说明实际概念。顺便说一句,感谢您的快速回复。再次非常感谢。
-
Ive添加了图像来显示差异,希望这会有所帮助。
-
@jigfox:确实有帮助。但是当我们调整窗口大小然后刷新窗口时如何计算高度,screen.height仅提供内部高度,不包括滚动高度。我们如何计算滚动高度?其中screen.availHeight给您滚动高度,但其中包括工具栏菜单。
-
似乎Windows带有Aero,由于具有透明性,因此认为full screen.height与screen.availHeight相同,我该如何在Windows Aero透明任务栏系统上获取screen.availHeight?
-
喜欢图解说明! @Raje(如果您使用JavaScript),请创建一个获取窗口高度的函数。函数getWindowHeight(){$(window).height();然后在$(window).load();上调用该函数;或$(window).resize();或
-
$(window).height()仅在webkit上正确。在IE和Firefox上,不考虑水平滚动条,因此滚动条的高度会降低您的结果。
-
请注意,$(window).height()不能与Safari版本和jquery版本结合使用(我不知道确切是哪个)。使用window.innerHeight代替
-
Windows 8中的screen.availHeight等于screen.height减去操作系统栏
-
即使窗口最大化,screen.availHeight === window.outerHeight也不正确。
-
这种情况一团糟。 Windows 10中的IE 11产生(在最大化的窗口上)[screen.height, screen.availHeight, window.outerHeight, window.innerHeight] = [864、824、838、709](有趣的是availHeight小于externalHeight ...);查看Chrome(v56):它甚至不符合规格(CSSOM视图模块),因为它为您提供了设备像素而不是CSS像素。以上结果的Chrome结果:[864、864、824、759]。缩放显示:只有window.innerHeight以CSS像素为单位,随缩放级别的增加而减小。
想纠正@jigfox答案中所述的问题:
https://www.w3schools.com/jsref/prop_screen_availheight.asp#:~:text= availHeight属性返回(),请使用availWidth属性。
availHeight属性返回用户屏幕的高度(以像素为单位),减去Windows任务栏之类的界面功能。
提示:要获取屏幕的高度(Windows任务栏除外),请使用availHeight属性。