48 votes

Puis-je détecter IE6 avec PHP?

Existe-t-il un moyen d'utiliser PHP pour détecter si la page est en cours de chargement à l'aide d'IE6?

64voto

Jeremy Ruten Points 59989

Essayez de vérifier leur agent utilisateur pour 'MSIE 6.' .

 $using_ie6 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== FALSE);
 

Ceci est basé sur ces informations d'agent d'utilisateur .

28voto

Ólafur Waage Points 40104

Vous pouvez détecter IE6 avec HTML de cette façon

 <!--[if IE 6]>
// ie6 only stuff here
<![endif]-->
 

Voici un lien sur la façon dont cela est fait dans PHP Way Back Machine, mais j'ai vu beaucoup de faux positifs lors de l'analyse du $_SERVER["HTTP_USER_AGENT"] pour IE6

15voto

thomasrutter Points 42905

Beaucoup de l'utilisateur-agent en fonction des réponses sur cette page ne sont pas trop fiables en raison de l'Opéra, souvent, s'identifie lui-même avec une chaîne de l'agent utilisateur contenant "MSIE 6.0", tels que:

Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 9.51

Cela affecte toutes les versions de l'Opéra de 5 à 9 et même de l'Opéra 10 et peut être activée ou désactivée à partir de l'intérieur de l'Opéra. Voir cette page.

Une approche commune que j'ai vu est à l'essai pour "MSIE" et contre "l'Opéra". Par exemple,

if (preg_match('/\bmsie 6/i', $ua) && !preg_match('/\bopera/i', $ua))
  echo "We have IE6!";

12voto

marverix Points 784

bien PHLAK ...

Je pense que celui-ci est bien meilleur: P

   if(preg_match('/msie [2-6]/i',$_SERVER['HTTP_USER_AGENT'])) {
   // if IE<=6
  } else {
   //if IE>6
  }
 

9voto

OIS Points 5566

Vous pouvez utiliser get_browser avec le fichier browscap.ini mis à jour .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X