Changer lien CSS en javascript

Résolu/Fermé
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 - 7 mai 2008 à 14:51
 siciliano - 26 janv. 2009 à 21:31
Bonjour,

ayant une css totalement différente entre Firefox et Internet Explorer, j'ai mis une détection du moteur de recherche en place qui marche. après cette détection, je souhaite pouvoir mettre une CSS différente pour chacun des navigateurs mais je n'y arrive pas...

quelqu'un pourrait m'aider??

Merci d'avance
A voir également:

13 réponses

metallciste Messages postés 50 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 6 juin 2008 3
7 mai 2008 à 15:03
Tu peut faire ça avec PHP:

<html>
<head>
<?php
if (ton_test_du_moteur=internet_explorer)
echo '<link href="Style/Style_1.css" rel="stylesheet" type="text/css" /> ';
else
echo '<link href="Style/Style_2.css" rel="stylesheet" type="text/css" />';
?>
</head>
</html>
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
7 mai 2008 à 15:24
ça marche pour Mozilla mais IE passe au travers...

comment on fait un pop up déjà avec PHP pour voir si IE entre dans la boucle ???
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
7 mai 2008 à 15:39
en fait le truc c'est que quand je passe sur IE, il n'y a aucune CSS qui se met en place...
0
metallciste Messages postés 50 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 6 juin 2008 3
7 mai 2008 à 17:26
le problème est dans le test du navigateur, donne moi le code du test
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
13 mai 2008 à 08:48
<?php
if (ton_test_du_moteur = internet_explorer)
echo '<link href="allie.css" rel="stylesheet" type="text/css" /> ';
else{
echo '<link href="all.css" rel="stylesheet" type="text/css" /> ';
echo '<link href="accueil.css" rel="stylesheet" type="text/css" />';}
?>
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
13 mai 2008 à 10:11
j'ai rajouté du javascript dans le php pour pouvoir faire une alert pour voir si ça rentre dans la boucle mais IE ne rentre dans aucune des deux boucle, ni dans le if ni dans le else... au secour!!!

<?php
if (ton_test_du_moteur = internet_explorer)
{
echo '<script type="text/javascript">alert("IE7");</script>';
echo '<link href="allie.css" rel="stylesheet" type="text/css" /> '};

else{
echo '<script type="text/javascript">alert("autres");</script>';
echo '<link href="all.css" rel="stylesheet" type="text/css" /> ';
echo '<link href="accueil.css" rel="stylesheet" type="text/css" />';}
?>
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
13 mai 2008 à 10:18
je viens de remarquer un truc...

sur firefox avant que l'alert se mette en place, sur la page il y a écrit alert("IE7");';echo''};else { echo'

est-ce que ça a un rapport avec le probleme rencontré??
0
metallciste Messages postés 50 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 6 juin 2008 3
14 mai 2008 à 12:51
ton_test_du_moteur ce n'est pas un test du navigateur, c'est ce que je t'est écrit. envoie moi le test du navigateur.
0
metallciste Messages postés 50 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 6 juin 2008 3
14 mai 2008 à 12:52
dans ton premier message : "j'ai mis une détection du moteur de recherche en place qui marche."
donne la moi.
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
14 mai 2008 à 13:05
le truc c'est que celui-ci est en javascript... mais je te l'envoie quand même... le probleme c'est que je n'arrive pas à incorporer le link CSS...


<!--détection navigateur-->
<script type="text/javascript">
function checkBrowser(){
if (window.navigator.appName == 'Microsoft Internet Explorer')
{
alert('IE7');
}
else
{
alert('autre');
}}
</script>
0
metallciste Messages postés 50 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 6 juin 2008 3
14 mai 2008 à 16:21
<html>
<head>
<script type="text/javascript">
function checkBrowser()
{
if (window.navigator.appName == 'Microsoft Internet Explorer')
{
echo '<link href="Style/Style_ie.css" rel="stylesheet" type="text/css" /> ';
}
else
{
echo '<link href="Style/Style_ff.css" rel="stylesheet" type="text/css" />';
}
}
</script>
</head>
</html>
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
14 mai 2008 à 17:01
il y a un probleme, il ne supporte pas le echo je crois... parce que j'ai mis une alert pour tester et quand il y a echo alert ne marche pas... et bizarement des que je met un echo même sans caractère spéciaux dedans (jpensais que c'est ça ki planté) ça fait planté le javascript... je crois que je vais laissé tombé... à moins que t'y comprenne kekchose...
0
powpowland Messages postés 395 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 2 mars 2022 20
15 mai 2008 à 11:55
c'est bon j'en ai trouvé un en php et il marche... je vous le donne au cas où...



<?php
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
echo '<link rel="stylesheet" type="text/css" href="allie.css" media="screen, projection" />';
echo '<link rel="stylesheet" type="text/css" href="accueilie.css" media="screen, projection" />';
echo '<style type="text/css">
#extraDiv1, #permanant{
position: absolute;
top:expression(documentElement.scrollTop+body.scrollTop);
}

#permanant {
background: green fixed;
}

body{
background: #2f67b2 fixed;
}
</style>';
} else if (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"])) {
echo '<link rel="stylesheet" type="text/css" href="all.css" media="screen, projection" />';
echo '<link rel="stylesheet" type="text/css" href="accueil.css" media="screen, projection" />';
} else if (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
echo "Opéra<br>";
echo '<link rel="stylesheet" type="text/css" href="all.css" media="screen, projection" />';
echo '<link rel="stylesheet" type="text/css" href="accueil.css" media="screen, projection" />';
} else {
echo "un navigateur qui m'est inconnu<br/>";
}
?>
0
bonjour,
le code ne semble pas résolu ... puisque la question était : "Comment en JavaScript ..." ... or la réponse est en PHP; ce qui entraînera un A/R Client/Serveur coûteux et risqué (si des valeurs ont été saisies ...) et inutile.
Voilà une solution légère en JS.
Admettons que vous ayez 2 fichiers CSS : rouge.css et noir.css.
Au chargement rouge.ccs a été choisi.

Le lien est le suivant <link id="lienCSS" href='rouge.css' rel='stylesheet' type='text/css'>,
vous avez identifié votre élément HTML : id="lienCSS"

Sur un click de bouton vous voulez changer :
<input name="cb_noir" type="button" value="Noir" onClick="changerStyle('noir')" />
<input name="cb_rouge" type="button" value="Rouge" onClick="changerStyle('rouge')" />

voilà la fonction :
function changerStyle(asCouleur)
{
if(asCouleur == 'noir') document.getElementById("lienCSS").href="noir.css";
if(asCouleur == 'rouge') document.getElementById("lienCSS").href="rouge.css";;
}
Le tour est joué. Testé avec FX 3.X, IE7, Opera 9.63, Safari 3.2.1, le tout sous XP.
0