Feuille css + javascript

Signaler
Messages postés
353
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour j'ai essayer ce code pour changer de feuille css lors du clic sur un bouton mais il ne marche pas pourquoi?
<script language="javascript" type="text/javascript">
   
   function clickBouton(bouton)
{
   if((navigator.appName.indexOf("Explorer") >= 0)
   {
   <link href="App_Themes/internetexplorer/theme1/StyleSheet.css" rel="stylesheet" type="text/css" />
   }
  
}
    </script>
  

10 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,

fais cela en html....

        <!--[if IE]>
            <link    rel="stylesheet"
                     type="text/css"
                     href="ton css pour IE">
        <![endif]-->

Cordialement [mon Site] [M'écrire] Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
car <link href="App_Themes/internetexplorer/theme1/StyleSheet.css" rel="stylesheet" type="text/css" />
   ce n'est pas du javascript mais du html, donc ça plante
il faudrait faire document.write('<link href=.... />'); ou autre
mais en html c'est plus mieux
@+
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>il faudrait faire document.write('<link href=.... />'); ou autre
comme document.write va effacer toute la page y compris le javascript
ce serait autrement qu'il faudrait faire....
Messages postés
353
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011

Merci pour tes réponses Bul3.
J'utilise déjà ce que tu ma dit mais le but de changer de feuille css lors du clic sur le bouton est de permettre au utilisateur de choisir le propre thème pour le site.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>changer de feuille css lors du clic sur le bouton
document.write prohibé alors

>>permettre au utilisateur de choisir le propre thème
ah... rien à voir avec des différences entre
navigateurs non plus alors.

le "plus simple" (?),
mais ça dépend de ce que tu appelles "thême",
c'est, peut-être, de recharger la page avec en paramètre
le thême voulu ( page.htm?thême_voulu )
et d'exploiter cette info
soit avec le langage serveur ( ce serait mieux ) ,
soit si tu veux à tout prix en javascript avec "en tête de page"
un document.write('<link href="'+paramètre de l'url+'".... />');
sachant que window.location.search est = "?thême_voulu"
@+
Messages postés
353
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011

Mais document.write permet d'écrire un texte à l'écran non?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
certes, mais si tu le fais lorsque toute le page a été interprétée,
ce qui est la cas lorsqu'on appelle la une fonction lors d'un click
sur un bouton, document.write efface toute la page, y compris le
javascript
essaye et regarde la source après ! il ne te restera que ce que
les document.write on fait, tout le reste est effacé.

aller....un début en javascript :
( ce serait mieux avec un langage sur le serveur, mais bon )

    Rouge
    Bleu
    Défaut
    <script type="text/javascript">
        document.writeln('<link rel="stylesheet" type="text/css" href="css'+window.location.search.substring(1)+'.css">');
    </script>

avec les 3 fichiers css :
cssR.css,
a,body    {    background-color:red;
                color:yellow;
            }  
cssB.css
a,body   {    background-color:blue;
                color:cyan;
           }
css.css
a,body    {    background-color:black;
                 color:#FFFFFF;
            }
Messages postés
353
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011

Merci pour ta réponse Bul3 mais je ne comprend pas cette ligne de code :

css'+window.location.search.substring(1)+'.css
Messages postés
353
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011

J'ai essayer ce code mais il m'affiche le texe de ma feuille css :

 [App_Themes/internetexplorer/theme1/StyleSheet.css test]
    [?B Bleu]
    [? Défaut]
    <script type="text/javascript">
        document.writeln('<link rel="stylesheet" type="text/css" href="css'+window.location.search.substring(1)+'.css">');
    </script>
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
[App_Themes/internetexplorer/theme1/StyleSheet.css test]
????? c'est quoi ça ????
tel que tu appliques, ça ne peut pas fonctionner !!!
essaye mon exemple tel que je te le montre
si tu ne comprend pas, fais des alert pour
voir les contenus, fais du pas à pas...

>>window.location.search
c'est ce qui est passé en paramètre derrière l'url
si
c'est égal = ?exemple
tu as compris le substring j'espère ! ( ça "supprime" le ? )

css'+window.location.search.substring(1)+'.css
dans mon exemple ça va être = "cssR.css" ou "cssB.css" ou "css.css"
en fonction du lien sur lequel on a cliqué....

>>J'ai essayer ce code
bah... essaye de comprendre ce que tu fais
par rapport à ce que je fais... tout s'explique