[PHP] Détecter la résolution d'affichage

Dernière mise à jour le 22 novembre 2009 à 16:24 par marlalapocket
Publié par Jeff
PHP ne fournit pas de fonction permettant la détection de la résolution d'affichage car l'information concernant l'affichage du visiteur n'est pas fournie nativement par le protocole HTTP.

Javascript par contre permet de détecter la résolution grâce aux attributs width et height de l'objet screen :

screen.width
screen.height


Ainsi le code suivant, une fois inséré dans un document HTML, affiche la résolution d'affichage du visiteur :

<script language="Javascript">
<!--
document.write('<br>Votre résolution est de '.screen.width+'x'+screen.height)
//-->
</script>


Ainsi, il est possible de passer le paramètre à un script PHP par l'intermédiaire d'une redirection en Javascript.

 <?
if(!isset($_GET['r']))
{
echo "<script language=\"JavaScript\">
<!-- 
document.location=\"$PHP_SELF?r=1&Largeur=\"+screen.width+\"&Hauteur=\"+screen.height;
//-->
</script>";
}
else {    

// Code à afficher en cas de détection de la résolution d'affichage
     if(isset($_GET['Largeur']) && isset($_GET['Hauteur'])) {
               // Résolution détectée
     }
     else {
               // Résolution non détectée
     }
}

?>


Note :
Si vous êtes puriste, préférez le terme "définition" au mot "résolution" :
http://www.commentcamarche.net/pc/ecran.php3#caracteristique
Meilleures réponses pour « Détecter la résolution d'affichage » dans :
[Webmaster] Adapter un site à toutes les résolutions, le centrer VoirUne question récurrente sur ce forum est "Comment adapter mon site à la résolution du visiteur ? Quelle résolution choisir ?" Pas besoin de se compliquer la vie pour ça ! Comment faire Il suffit d'appliquer une largeur relative (=qui change selon...