Taille disponible de l'écran (navigateur)

ViPHP
ViPHP | 1961 Messages

17 nov. 2006, 11:14

Bonjour,
Je cherche à connaître la taille disponible de l'écran.
J'ai le code suivant (feuille CSS)

Code : Tout sélectionner

body { /*margin: auto;*/ background-color: black; color: white; text-align: center; width: 100%; height: 100%; } #corps{ position: absolute; left : 0px; top: 0px; width: 100%; height: 100%; }
La page HTML
<body>
<div id="corps">
<script type="text/JavaScript" >
    var larg = null;
	var haut = null;
	if (document.body){
		larg = (document.body.clientWidth);
		haut = (document.body.clientHeight);
	}
	document.write('Par document.body ' + larg + 'x' + haut + '<br />');
	larg = screen.availWidth;
	haut = screen.availHeight; 
	document.write('Par screen.avail ' + larg + 'x' + haut + '<br />'); 
</script>
</div>
</body>
et j'obtiens ça :
Pour FF -
Par document.body 1024x0
Par screen.avail 1024x768
Pour IE -
Par document.body 1003x652
Par screen.avail 1024x768
Et comme vous l'avez compris j'ai un soucis avec FF pour la hauteur.
Connaissez-vous un moyen d'y parvenir ?
Merci d'avance pour vos réponses.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 nov. 2006, 12:05

Et avec "window.innerWidth" et "window.innerHeight" est ce que ca marche mieux ?

Ps : je ne crois pas que les propriétés width et height servent réellement dans le body :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 1961 Messages

17 nov. 2006, 12:31

Bonjour Ryle,

Effectivement, ça marche beaucoup mieux.
J'a fait ceci (fichier JS)

Code : Tout sélectionner

function Page(){ if(window.innerWidth){ // FireFox this.hSize = window.innerWidth; this.vSize = window.innerHeight; } else if(document.body && document.body.offsetWidth){ // Internet Explorer this.hSize = (document.body.offsetWidth); this.vSize = (document.body.offsetHeight); } }
Dans le HTML
<body onload="JavaScript:getEnv();" onunload="JavaScript:clockStop();">
<div id="corps">
<script type="text/JavaScript" >
	var maPage = new Page();
	document.write('Taille dispo : ' + maPage.hSize + 'x' + maPage.vSize);
</script>
</div>
</html>
Et j'obtiens
Sous IE
Sans les favoris
Taille dispo : 1024x656
Avec les favoris
Taille dispo : 820x656
Sous FF
Sans le Marque pages
Taille dispo : 1024x643
Avec le Marque pages
Taille dispo : 818x643
Les valeurs sont différentes mais c'est normal, les entêtes ne sont pas de la même taille dans les deux navigateurs.

Merci à toi Ryle !
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein