Changer lien CSS en javascript

Résolu
powpowland Messages postés 396 Date d'inscription   Statut Membre Dernière intervention   -  
 siciliano -
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   Statut Membre Dernière intervention   3
 
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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
ç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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
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   Statut Membre Dernière intervention   3
 
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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
<?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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   3
 
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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
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   Statut Membre Dernière intervention   3
 
<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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
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 396 Date d'inscription   Statut Membre Dernière intervention   20
 
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
siciliano
 
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