Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
805 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  HTTP_USER_AGENT ie vista (résolu)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

HTTP_USER_AGENT ie vista (résolu)

n°1838053
yolas22
Posté le 15-01-2009 à 06:24:32  profilanswer
 

Bonjour,  
 
J'ai un petit soucis qui me fait sourire mais me pose aussi problème.  
 
Lorsque j'utilise la variable HTTP_USER_AGENT et aprés traitement je récupère mozilla pour mozilla, opera pour opera et mozilla pour IE.  
D'ou mon problème IE est le seul navigateur qui ne gère pas mon code comme je le veux et il ne me donne pas son identité.  
 
Si quelqu'un a déja eu le soucis.
Merci.
+


Message édité par yolas22 le 15-01-2009 à 14:26:08
mood
Publicité
Posté le 15-01-2009 à 06:24:32  profilanswer
 

n°1838070
FlorentG
Unité de Masse
Posté le 15-01-2009 à 09:12:37  profilanswer
 

C'est pour faire quoi exactement cette détection de navigateur ? Parce que de manière générale, c'est une assez mauvaise idée

n°1838266
yolas22
Posté le 15-01-2009 à 13:24:30  profilanswer
 

Pour je ne sais quelle raison IE ne me gère pas l'indication de taille en pourcentage dans les div de la même manière que les autres navigateur.
 
Je voulais juste adapter ça en fonction du navigateur varTpour100 = X pour IE Y pour les autres navigateur.
 
+
 

n°1838272
rufo
Pas me confondre avec Lycos!
Posté le 15-01-2009 à 13:34:12  profilanswer
 

Ca serait pas un pb de "modèle boîte" avec IE6 ou inférieur? Pour le résoudre, si je me souviens bien faut mettre un doctype xhtml1 strict en début de page html...
 
Et puis c'est bizarre, j'ai déjà utilisé le user agent en php, pas eu ce pb. Tiens, voilà un ex de code pour détecter le navigateur.

Code :
  1. function getBrowserName()
  2. {
  3.     // We get the OS name
  4.     // ex of User-Agent : Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0
  5.     $iPosStart = strpos($_SERVER["HTTP_USER_AGENT"], '(');
  6.     $iPosEnd = strpos($_SERVER["HTTP_USER_AGENT"], ';');
  7.     $sOSname = '';
  8.     if (($iPosStart !== FALSE) && ($iPosEnd !== FALSE))
  9.     {
  10.         // We extract the OS name
  11.         $sOSname = strtoupper(substr($_SERVER["HTTP_USER_AGENT"], $iPosStart + 1, $iPosEnd - $iPosStart - 1));
  12.     }
  13.  
  14.     if (eregi('msie', $_SERVER["HTTP_USER_AGENT"]) && !eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  15.     {
  16.         // Internet Explorer
  17.         return "IE";
  18.     }
  19.     elseif (eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  20.     {
  21.         // Opera
  22.         return "OPERA";
  23.     }
  24.     elseif (eregi('Mozilla/4.', $_SERVER["HTTP_USER_AGENT"]))
  25.     {
  26.         // Netscape 4.x
  27.         return "NS4-$sOSname";
  28.     }
  29.     elseif (eregi('Mozilla/5.0', $_SERVER["HTTP_USER_AGENT"]) && !eregi('Konqueror', $_SERVER["HTTP_USER_AGENT"]))
  30.     {
  31.         // Netscape 6
  32.         return "NS6-$sOSname";
  33.     }
  34.     else
  35.     {
  36.         // Autres navigateurs
  37.         return "-$sOSname";
  38.     }
  39. }


Message édité par rufo le 15-01-2009 à 13:36:19

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1838278
macgawel
Posté le 15-01-2009 à 13:41:20  profilanswer
 

C'est parce que tu traite mal le contenu de HTTP_USER_AGENT :
Sous FF
["HTTP_USER_AGENT"]=>  string(87) "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"  
 
Sous IE
["HTTP_USER_AGENT"]=> string(55) "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1

n°1838284
yolas22
Posté le 15-01-2009 à 13:51:05  profilanswer
 

Ok je viens de verifier, merci macgawel, mais je trouve tout de même étrange de spécifier en premier mozilla sous IE.
Je ferai avec.  
 
Sinon rufo je suis sous IE7, merci pour l'info en ce qui concerne les versions antérieurs de IE.
 
+

n°1838306
FlorentG
Unité de Masse
Posté le 15-01-2009 à 14:05:30  profilanswer
 

N'oublie pas ouais le modèle de boîte différent suivant si t'es en mode standard ou quirks. Attention au DOCTYPE de ton document (x)HTML.
 
Ensuite pour cibler IE dans un style (pour corriger des dimensions par exemple), le mieux est d'utiliser des commentaires conditionnels, seul moyen à 100% fiable

n°1838325
yolas22
Posté le 15-01-2009 à 14:18:13  profilanswer
 

Merci des infos je retiens ça pour une v2 de mon site. Le contenu m'importe plus que le contenant pour le moment.
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  HTTP_USER_AGENT ie vista (résolu)

 

Sujets relatifs
[resolu] [ajax/mootools] problème Fx.Tween ?[C++] RESOLU - Imprimer la valeur d'un pointeur sans le prefixe 0x?
problème de HashMap résolu, mais besoin d'explications, bug JAVA ?[Résolu] Récupération de mails en Imap et sauts de ligne
fichier texte ouvert avec fgetcsv() en php (résolu)ouvrir une page à distance en HTTP GET, y envoyer des HTTP POST, cUrl,
[RESOLU] Probleme synchro thread[Résolu][C] probleme avec une macro
Problème à centrer une image [RESOLU] 
Plus de sujets relatifs à : HTTP_USER_AGENT ie vista (résolu)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR