Rechercher : dans
Par :

Changer lien CSS en javascript

Dernière réponse le 26 jan 2009 à 21:31:26 powpowland, le 7 mai 2008 à 14:51:00 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « changer lien CSS en javascript » dans :
Changer l'aspect du curseur en CSS VoirLa propriété cursor permet de changer l'aspect du curseur sur un élément d'une page web. Le client affichera automatiquement le curseur de son ordinateur qui correspond au type de curseur que vous aurez choisi. Exemples Liste des attributs...
Counter Strike - Modifier les skins des armes VoirVoici comment modifier les skins d'armes pour CS 1.6 Introduction Télécharger les skins Insertion des skins Introduction Les skins d'armes sont des répliques d'armes de bases mais plusieurs aspects changent : La taille La forme La...
Différence entre display:none et visibility:hidden VoirLes deux attributs CSS display:none et visibility:hidden permettent tous deux de masquer l'affichage d'un élément en CSS dans le navigateur. Néanmoins, il existe une subtile nuance : visibility: hidden rend le bloc concerné invisible....
Télécharger PSPad VoirPSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS, Javascript, php ou autres langages de programmation (C++, Java, Python...). Les fonctionnalités sont impressionnantes: ...
Télécharger Notepad2 VoirNotepad2 est un bloc-note sans installation libre possédant des fonctionnalités avancées de coloration syntaxique. Fonctionnalités Coloration syntaxique pour les langages suivants : HTML, XML, PHP, ASP (JScript, VBS), CSS, JavaScript, VBScript,...
CSS - Les couleurs VoirLes couleurs Le standard CSS propose différentes façons de définir des couleurs : par un nom avec la notation hexadécimale avec la notation décimale Appel d'une couleur par son nom Le langage HTML définit des noms pour un nombre limité de...
La syntaxe des style (CSS) VoirDéfinition d'un style La définition d'un style se fait à l'aide de règles en texte simple permettant de décrire l'aspect des éléments de la page. Une règle CSS est caractérisée par deux principaux éléments : Un sélecteur de balises, permettant de...
Javascript - les boîtes de dialogue VoirQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet Soit d'avertir l'utilisateur Soit le confronter à un choix Soit lui demander de compléter un champ pour...

1

metallciste, le 7 mai 2008 à 15:03:27

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>

Répondre à metallciste

2

powpowland, le 7 mai 2008 à 15:24:47

ç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 ???

Répondre à powpowland

3

powpowland, le 7 mai 2008 à 15:39:01

En fait le truc c'est que quand je passe sur IE, il n'y a aucune CSS qui se met en place...

Répondre à powpowland

4

metallciste, le 7 mai 2008 à 17:26:24

Le problème est dans le test du navigateur, donne moi le code du test

Répondre à metallciste

5

powpowland, le 13 mai 2008 à 08:48:17

<?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" />';}
?>

Répondre à powpowland

6

powpowland, le 13 mai 2008 à 10:11:12

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" />';}
?>

Répondre à powpowland

7

powpowland, le 13 mai 2008 à 10:18:47

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é??

Répondre à powpowland

8

metallciste, le 14 mai 2008 à 12:51:02

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.

Répondre à metallciste

9

metallciste, le 14 mai 2008 à 12:52:24

Dans ton premier message : "j'ai mis une détection du moteur de recherche en place qui marche."
donne la moi.

Répondre à metallciste

10

powpowland, le 14 mai 2008 à 13:05:44

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>

Répondre à powpowland

11

metallciste, le 14 mai 2008 à 16:21:10

<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>

Répondre à metallciste

12

powpowland, le 14 mai 2008 à 17:01:16

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...

Répondre à powpowland

13

powpowland, le 15 mai 2008 à 11:55:19

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/>";
}
?>

Répondre à powpowland

14

 siciliano, le 26 jan 2009 à 21:31:26

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.

Répondre à siciliano