Supongo que quiere saber el ancho de la ventana gráfica con la barra de desplazamiento incluida, porque la pantalla en sí misma no tiene una barra de desplazamiento. De hecho, el ancho y la altura de la pantalla serán la resolución de la pantalla de la computadora, por lo que no estoy seguro de lo que quiere decir con el ancho de la pantalla con la barra de desplazamiento.
Sin embargo, la ventana donde solo se presenta la página (y las barras de desplazamiento), es decir, sin menús del navegador, sin marcadores o lo que sea, solo la página representada, es donde puede estar presente dicha barra de desplazamiento.
Suponiendo que lo desee, puede medir el tamaño de la ventana del navegador del cliente teniendo en cuenta el tamaño de las barras de desplazamiento de esta manera.
Primero no olvide configurar su etiqueta de cuerpo para que sea del 100% de ancho y alto solo para asegurarse de que la medición sea precisa.
body {
width: 100%;
// if you wish to also measure the height don't forget to also set it to 100% just like this one.
}
A continuación puede medir el ancho a voluntad.
Muestra
// First you forcibly request the scroll bars to be shown regardless if you they will be needed or not.
$('body').css('overflow', 'scroll');
// Viewport width with scroll bar.
var widthWithScrollBars = $(window).width();
// Now if you wish to know how many pixels the scroll bar actually has
// Set the overflow css property to forcibly hide the scroll bar.
$('body').css('overflow', 'hidden');
// Viewport width without scroll bar.
var widthNoScrollBars = $(window).width();
// Scroll bar size for this particular client browser
var scrollbarWidth = widthWithScrollBars - widthNoScrollBars;
// Set the overflow css property back to whatever value it had before running this code. (default is auto)
$('body').css('overflow', 'auto');
espero que ayude.
¿Por qué necesita el ancho con la barra de desplazamiento incluida? Sin mencionar que algunos navegadores también tienen bordes de 1 a 4 píxeles en los lados izquierdo y derecho de la ventana gráfica. Ni siquiera entiendo por qué las personas necesitarían 'outerWidth' y' outerHeight' ... – animuson
@animuson: establezco el ancho de algunos elementos dinámicamente, y dependiendo de la forma en que un navegador muestre el diseño (versión, tamaño de pantalla, etc.), a veces hay una barra de desplazamiento que luego desaparece dejándome con una "sombra de barra de desplazamiento" en la página. Sería mucho más simple si supiera el ancho SIN la barra de desplazamiento antes de tiempo. – Goro
Ver también http://stackoverflow.com/q/8339377/1136253 –