Pb Selection CSS selon Navigateur

Résolu
Signaler
Messages postés
11
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
8 septembre 2006
-
Messages postés
11
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
8 septembre 2006
-
Bonjour

J'ai trouvé un javascript me permettant de choisir telle ou telle feuille de style selon le navigateur.

Mon problème est que meme sous firefox il semble croire qu'il est sous IE...

voilà le code
<script language="JavaScript">
<!--
var agent = navigator.userAgent.toLowerCase();
var ver = parseInt(navigator.appversion);
if ((agent.indexOf("mozilla") != -1) && (ver >= 4) && (navigator.appname.indexOf("Netscape") != -1))
document.write('<link rel="stylesheet" href="templates/SpacePilot3K_Nightstalkers/{T_HEAD_STYLESHEET}" type="text/css">');
else
document.write('<link rel="stylesheet" href="templates/SpacePilot3K_Nightstalkers/SpacePilot3K_Nightstalkers_IE6.css" type="text/css">');
//-->

je ne vois pas l'erreur... pouvez vous m'aider ?

c'est pour un template de forum phpBB j'inclue ce script dans overall_header.tpl. J'ai besoin de deux CSS parce que j'ai dans mon forum des images png transparentes en fond et il n'y a pas moyen de les rendre transparentes correctement sous IE...

Merci

5 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
bonjour à toutes et à tous,
   si on y va de la manière de détecter IE et les autres navigateurs :

 var ie = false; Site    M'écrire
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B

onjour...

Il semble qu'il existe des méthodes plus simples pour savoir si on est en présence de IE
exemple :var EXPLORER ( navigator.appName 'Microsoft Internet Explorer');

Dans la ligne...


if (( agent .indexOf("mozilla") ! = -1) && (ver >= 4) && (navigator. appname .indexOf("Netscape") ! = -1))



Attention
à la syntaxe...
  pas agent MAIS userAgent



  pas appname MAIS appName





;0)
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Bien le bonjour, il me semble qu'il y a une méthode plus simple pour savoir si l'utilisateur utilise ce brave ie.


Il suffit de remplacer ton test
"if ((agent.indexOf("mozilla") != -1) && (ver >= 4) && (navigator. appname .indexOf("Netscape") ! = -1))"
par:
if (document.all){
   // traitement pour ie
}
else
   // traitement pour les autres

et hop ça doit fonctionner.

[o-_-o]
Messages postés
11
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
8 septembre 2006

Merci les gars pour ces astuces !!
Messages postés
11
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
8 septembre 2006

Ca marche !

Le appname mal écrit n'a rien changé...

J'ai testé l'ensemble des solutions et elles fonctionnent toutes merci beaucoup !