Manipuler fichiers css externes avec js

Signaler
Messages postés
65
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
-
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
-
Bonjour,
j'aimerais savoir s'il est possible de contrôler le choix des feuilles de style externes avec du javascript, comment écrire dans le head d'un document avec javascript ?

Merci d'avance

11 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    ch'tit exemple :

<HTML    Lang="fr">
<HEAD>
<TITLE></TITLE>
<Script    type="Text/JavaScript">
document.write(
    '<LINK   REL="stylesheet"'+
    '        TYPE="text/css"'+
    '        HREF="adresse du .css">');

</Script>
</HEAD>

</HTML>

je n'aime pas trop le document.write, on peut faire autrement,
...mais pour l'exemple, c'était le plus simple...

<hr />                        Cordialement       Bul    
Messages postés
111
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
1 août 2008

Bonjour,

Juste pour info, quel intéret de faire ce controle en javascript ?

Si c'est pour rajouter un test de navigateur et n'inclure que le css correspondant au navigateur, il existe des methodes plus jolies pour faire ça ...

<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" media="screen" href="styleIE.css" />
<![endif]-->

on peut même faire des tests sur la version de IE :
<!--[if gt IE 6]>
<link rel="stylesheet" type="text/css" href="ie60-70-win.css" />
<![endif]-->

<!--[if gt IE 6]>  == if greater than IE6 -> IE6 & IE7...

Henri
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Henri a parfaitement raison...



<hr />                                Cordialement            Bul        
Messages postés
65
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011

Non c'est pour pouvoir sélectionner un design en cliquant sur un choix dans une liste déroulante ! Mais avec la solution document.write, le <link etc... s'inscrit dans le body non? la déclaration des css se fait qd même dans le head me semble t'il ?
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

http://openweb.eu.org/articles/presentations_alternatives/

C'est en PHP pour le site openweb mais dans la liste des liens tu as une version
javascript.

Bon coding
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>Mais avec la solution document.write, le <link etc... s'inscrit dans le body non?

dans l'exemple donné, et qui fonctionne, non, c'est dans le head.
mais aucune importance, ou dans le head, ou dans le body... ça baigne.



<hr />                        Cordialement                Bul            
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
une remarque quand même.
si le choix est fait dans un select, la page html a déjà été traitée/affichée/interprétée... totalement
dans ce cas, document.write effacera totalement la page ( toute la page )
mais pour ajouter quelque chose au body, au head... il y a d'autres possibilités
<hr />                Cordialement        Bul    
Messages postés
65
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011

comme ?
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
c'est à dire ?
<hr />                                Cordialement                Bul        
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
je suis d'ailleurs très très loin d'être convaincu que "changer le .css"
quand la page a été traitée, modifie le style des éléments concernés.
il faudra[it] recharger la page ou modifier le sytle des éléments. à tester.
<hr />                                                Cordialement            Bul        
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
Si tu veux modifier le style de la page une fois qu'elle est chargée, les css ne pourront rien y faire comme dit bultez, c'est déjà trop tard. Tu dois passer par le DOM.