De acuerdo, he leído alrededor de 1000 ideas diferentes aquí, pero ninguna respuesta parece estar completa.
Tengo una página que se desplaza tanto horizontal como verticalmente, por lo tanto, tengo barras de desplazamiento horizontales y verticales. Quiero el ancho de la ventana EXCLUYENDO la barra de desplazamiento y la altura de la ventana EXCLUYENDO la barra de desplazamiento. Considere también el relleno, los márgenes y los bordes, etc.
Para el ancho, originalmente tenía window.innerWidth pero eso incluía la barra de desplazamiento, así que llegué a esta solución que también tiene en cuenta el margen del cuerpo, el relleno y el borde, document.body.offsetWidth + parseInt(window.getComputedStyle(document.body).getPropertyValue('margin-left')) + parseInt(window.getComputedStyle(document.body).getPropertyValue('margin-right'))
La mayoría de las otras soluciones para la altura recomiendan window.innerHeight (pero esto incluye la barra de desplazamiento horizontal que no es buena) o document.body.clientHeight (que devuelve toda la longitud de la página, no solo la ventana gráfica).
Entonces, ¿alguien tiene una solución para algo tan aparentemente trivial?
document.body.clientWidth y .clientHeight tal vez lo que está buscando.