HTML DOM ancho + alto de la ventana visible
Pregunta
¿Cómo obtengo la altura y el ancho actuales del espacio disponible en el navegador cuando está abierto?
No quiero la altura del documento total, solo lo que está visible en la pantalla.
Solución
Puede echar un vistazo a esta publicación de blog para ver el método .
y en resumen dar ese código
function alertSize() {
var myWidth = 0, myHeight = 0;
if(typeof(window.innerWidth) == 'number') {
// Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
}
else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
// IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
}
else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
// IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
window.alert( 'Width = ' + myWidth );
window.alert( 'Height = ' + myHeight );
}
también hay que tener en cuenta que la mayoría de js framework (jquery, ext, prototype) proporcionaría una función para hacerlo (en mi humilde opinión).
en jQuery:
$(window).width();
$(window).height();
Otros consejos
Use la propiedad de objetos de ventana, alto / ancho interno, para encontrar las dimensiones de solo el contenido de la página web. Esto incluye las barras de desplazamiento. Aquí hay una explicación visual: > http://goo.gl/L0cBLA .
Altura:
window.innerHeight
Ancho:
window.innerWidth
<html id="THE_HTML">
<!-- all your stuff... -->
</html>
entonces:
document.getElementById('THE_HTML').clientHeight;
Probado y trabajando bajo IE8 y FF3.6 ...