Salut,
Je viens de tester ça (pour info, en JSP, la commande c'est request.getHeader("USER-AGENT")). J'ai bien tout le détail du mobile :
Nokia6212 classic/2.0 (05.16) Profile/MIDP-2.1 Configuration/CLDC-1.1
Donc on peut effectivement s'en sortir en considérant tous les types de mobile.
Mais quand on regarde ce lien (http://mobiforge.com/designing/story...e-screen-sizes), on peut voir qu'il existe uniquement 4 tailles d'écran : 128, 176, 240 et 320 (=IPhone). Du coup, je me demande quelle est la meilleure méthode. Celle que j'ai un peu testé :
1 2 3
| <link rel="stylesheet" href="src/css/noyau.css" media="screen" />
<link rel="stylesheet" href="src/css/mobile.css" media="handheld and (max-device-width:480px), only screen and (max-device-width:480px)" />
<link rel="stylesheet" href="src/css/mobile2.css" media="handheld and (max-device-width:240px), only screen and (max-device-width:240px)" /> |
Dans ce cas, il n'y aurait que 4 tests à faire dépendant de la taille d'écran.
Ou plutôt, tester chaque configuration de téléphone.
1 2 3 4 5 6 7 8 9 10 11 12
|
<%
String strOS = request.getHeader("USER-AGENT")
if strOS = "IPhone" then
%>
<link rel="stylesheet" href="src/css/IPhone.css" media="screen" />
<%
else if strOS = "Nokia6212" then
%>
<link rel="stylesheet" href="src/css/Nokia6212.css" media="screen" />
... |
Là, je ne connais pas le nombre de mobiles, mais ça fait pas mal de tests avec en plus des mises à jour très régulières.
On peut certainement optimiser en prenant une feuille de style par défaut et ne testant que les cas où il faut une feuille de style spécifique. Mais pas de chance, actuellement, on est en phase de transition. On arrive sur des SmartPhone et il y aura tous les nouveaux cas à traiter (IPhone, Blackberry, le nouveau LG, Android ...).
Perso, j'opterai plutôt pour la première méthode, avec une intégration de la seconde méthode pour les cas particuliers. Qu'en pensez-vous ?
Partager