Difference between screen.availHeight and window.height()
window.outerHeight
It's the height of the window on screen, it includes the page and all the visible browser's bars (location, status, bookmarks, window title, borders, …).
This not the same as jQuery's $(window).outerHeight()
.
window.innerHeight
or $(window).height()
It's the height of the viewport that shows the website, just the content, no browser's bars.
document.body.clientHeight
or $(document).height()
It's the height of your document shown in the viewport. If it is higher than $(window).height()
you get the scrollbars to scroll the document.
screen.availHeight
It's the height the browser's window can have if it is maximized, including the browser's bars. So when the window is maximized, screen.availHeight === window.outerHeight
screen.height
It simply matches the screen's resolution. So on a 1920×1080 screen, screen.height
will be 1080
.
screen.availHeight
is equal to [screen.height
+ the operating system's bars], like the taskbar on Windows, the dock and menu on OS X, or whatever is fixed on top or bottom of your screen if you're using Linux.
Wanted to correct a thing stated in @jigfox 's answer:
https://www.w3schools.com/jsref/prop_screen_availheight.asp#:~:text=The%20availHeight%20property%20returns%20the,)%2C%20use%20the%20availWidth%20property.
The availHeight property returns the height of the user's screen, in pixels, minus interface features like the Windows Taskbar.
Tip: To get the height of the screen (excluding the Windows Taskbar), use the availHeight property.