关于javascript:screen.availHeight和window.height()之间的区别

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,则固定在屏幕顶部或底部的内容。


    想纠正@jigfox答案中所述的问题:

    https://www.w3schools.com/jsref/prop_screen_availheight.asp#:~:text= availHeight属性返回(),请使用availWidth属性。

    availHeight属性返回用户屏幕的高度(以像素为单位),减去Windows任务栏之类的界面功能。

    提示:要获取屏幕的高度(Windows任务栏除外),请使用availHeight属性。