2012-06-18 14 views
5

Quiero obtener la altura exacta del cuerpo de la ventana del navegador web. Intenté innerHeight, clientHeight todas las otras soluciones que obtengo mientras busca en Google. pero ninguno de ellos da la altura exacta. Tuve que ajustar la altura restando algún valor de la altura proporcionada por estas funciones? ¿Cómo puede salir de este problema? Creo que me falta algo. por favor ayuda.cómo obtener la altura exacta del cuerpo de la ventana del navegador web?

Gracias

+0

¿La solución de jQuery funciona para usted? – Dipak

Respuesta

13

Algunos exploradores informan de la altura de la ventana incorrectamente diferente - bro móvil particular wsers, que tienen un concepto de ventana gráfica diferente. A veces uso una función para verificar varios valores diferentes y devolver el que sea más grande. Por ejemplo

function documentHeight() { 
    return Math.max(
     window.innerHeight, 
     document.body.offsetHeight, 
     document.documentElement.clientHeight 
    ); 
} 

Editar: Yo miraba a la forma en jQuery lo hace y lo hace efectivamente utilizar Math.max y una serie de propiedades - sin embargo, la lista se comprueba es un poco diferente a los de mi ejemplo anterior, y dado que generalmente confío en que el equipo de jQuery sea mejor en esto que yo; aquí está la solución no jQuery jQuery (si tiene sentido):

function documentHeight() { 
    return Math.max(
     document.documentElement.clientHeight, 
     document.body.scrollHeight, 
     document.documentElement.scrollHeight, 
     document.body.offsetHeight, 
     document.documentElement.offsetHeight 
    ); 
} 
+0

más 1 para fácil y * "solución JQuery jQuery no" *, ha – LinusGeffarth

+1

:) Gracias. Quizá un poco viejo, pero tal vez aún sea válido/útil. No intente preocuparse demasiado por las dimensiones de los píxeles del navegador/pantalla en estos días, todo fluido, elástico y "receptivo": | Más consultas de CSS3 y de medios que JavaScript/jQuery. –

2

Puede utilizar jQuery para lograr este ...

$(document).ready(function(){ 
    browserWindowheight = $(window).height(); 
    alert(browserWindowheight); 
}); 
+1

Él nunca dijo que estaba usando jquery. – nunespascal

+2

Mencioné que tiene que usar jquery ... ¿por qué downvoting ...? – Subhajit

+2

¿dónde dice que no quiere usar jquery? –

1

¿Ha intentado utilizar:

window.outerHeight (this is for IE9 and other modern browser's height) 

Para Internet Explorer con el modo de compatibilidad con versiones anteriores, utilice

document.body.offsetHeight 

Y también, Internet Explorer (modo estándar, 'CSS1Compat' document.compatMode ==):

document.documentElement.offsetHeight 

Tener un vistazo a los siguientes para más información:

Cuestiones relacionadas