Modérateur PHPfrance |
10684 Messages
07 août 2012, 10:24
Actuellement ton code regarde si le user agent contient la chaine "MSIE". Si oui, il s'arrête et ne va pas plus loin. Sinon, il test alors la présence de la chaine "Firefox" et s'il la trouve, là encore il s'arrête. Dans ton cas il trouve Safari en premier, et il n'a aucune raison d'aller plus loin pour te dire qu'il ne connait pas Rockmelt puisqu'il a trouvé un résultat.
Si tu veux quelque chose de précis, comme te l'a dit Berzemus, il te faut comparer entièrement le User Agent envoyé par le navigateur/utilisateur et pas regarder si un bout de celui-ci correspond à quelque chose que tu connais...
A défaut, il faut ordonner tes test du plus fin au plus large, voire de celui que tu veux comptabiliser en priorité. Si Rockmelt se présente comme Rockmelt/Safari/Chrome et puisque les 2 autres ne mentionnent par Rockmelt, il faut d'abord tester s'il s'agit de ce dernier avant de l'exclure et de vérifier s'il s'agit de Safari ou Chrome.
A noter que si c'est pour effectuer des stats sur tes visiteurs, il y a des outils particulièrement adaptés tels qu'AWStats qui peuvent analyser le fichier de log apache pour te dire quels navigateurs, quels os, l'origine des visites, ... Tu as également la solution adwords de google qui permet un suivi du trafic (je ne sais plus s'il y a les navigateurs, mais il me semble)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...