ventana validar tamaño saber pantalla navegador detectar como ancho alto javascript jquery html

javascript - validar - Obtención de altura y anchura de cuerpo o ventana de página web.



tamaño navegador (3)

Dependiendo del modo de IE8 en el que esté (peculiaridades o estándar) obtengo diferentes valores para la altura y el ancho. He probado javascript y jquery estándar pero ambos devuelven resultados diferentes.

En quirks

$(''body'').width = 1239 $(''body'').height = 184 document.body.clientWidth = 1231 document.body.clientHeight = 176

En estandares

$(''body'').width = 1260 $(''body'').height = 182 document.body.clientWidth = 1254 document.body.clientHeight = 176

Cualquier idea de cómo obtener un valor sin cambios por el modo de IE8.

Gracias en adv.


Prueba esto:

var viewport = { width : $(window).width(), height : $(window).height() }; var width = viewport.width; var height = viewport.height;


Quizás el problema se deba a que las barras de desplazamiento se incluyen en el ancho y en la altura, independientemente de si están o no allí. No tengo IE (en un mac), así que no puedo verificar.

Sin embargo, puedo decirles qué es lo que funciona en mi proyecto jQuery Lightbox No tengo tal problema. Usamos el siguiente código en él:

// Make the overlay the size of the body var $body = $(this.ie6 ? document.body : document); // using document in ie6 causes a crash $(''#lightbox-overlay'').css({ width: $body.width(), height: $body.height() }); // ... some code ... // Get the window dimensions var $window = $(window); var wWidth = $window.width(); var wHeight = $window.height();

Y la superposición se muestra correctamente. Confiaría en el resultado de jQuery de la anchura y la altura en comparación con el resultado nativo, ya que jQuery debería naturalmente tener en cuenta cualquier peculiaridad con el navegador.

Es importante tener en cuenta que la secuencia de comandos de lightbox anterior tiende a preferir $(document) sobre $(document.body) por alguna razón, no puedo recordar lo siento: O, ¿quizás esto resuelva el problema también?


Sólo un tiro rápido. Intenta darle a tu cuerpo #página:

function getPageHeight() { var pageHeight = document.getElementById(''page'').offsetHeight; var pageWidth = document.getElementById(''page'').offsetWidth; alert(pageHeight); alert(pageWidth); }