Changer lien CSS en javascript
Résolu
powpowland
Messages postés
396
Date d'inscription
Statut
Membre
Dernière intervention
-
siciliano -
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
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:
- Changer lien CSS en javascript
- Changer dns - Guide
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Changer clavier qwerty en azerty - Guide
- Verificateur de lien - Guide
13 réponses
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>
<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>
ç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 ???
comment on fait un pop up déjà avec PHP pour voir si IE entre dans la boucle ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
<?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" />';}
?>
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" />';}
?>
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" />';}
?>
<?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" />';}
?>
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é??
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é??
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.
dans ton premier message : "j'ai mis une détection du moteur de recherche en place qui marche."
donne la moi.
donne la moi.
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>
<!--détection navigateur-->
<script type="text/javascript">
function checkBrowser(){
if (window.navigator.appName == 'Microsoft Internet Explorer')
{
alert('IE7');
}
else
{
alert('autre');
}}
</script>
<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>
<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>
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...
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/>";
}
?>
<?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/>";
}
?>
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.
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.