HTML DOM largeur + hauteur de la fenêtre visible
Question
Comment obtenir la hauteur et la largeur actuelles de l'espace disponible dans le navigateur lorsqu'il est ouvert.
Je ne veux pas la hauteur du document total, mais simplement ce qui est visible à l'écran.
La solution
Vous pouvez consulter cet article de blog pour connaître la méthode. .
et en bref en donner ce code
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 );
}
Il faut également noter que la plupart des frameworks js (jquery, ext, prototype) fourniraient une fonction permettant de le faire (IMHO).
dans jQuery:
$(window).width();
$(window).height();
Autres conseils
Utilisez la propriété des objets de la fenêtre, hauteur intérieure / largeur, pour rechercher uniquement les dimensions du contenu de la page Web. Cela inclut les barres de défilement. Voici une explication visuelle - > http://goo.gl/L0cBLA .
Hauteur:
window.innerHeight
Largeur:
window.innerWidth
<html id="THE_HTML">
<!-- all your stuff... -->
</html>
alors:
document.getElementById('THE_HTML').clientHeight;
Testé et fonctionnant sous IE8 et FF3.6 ...