|
|
|
|
Bonjour,
Je tente d'écrire un javascript pour lire le contenu d'un cookie et lier une page CSS en conséquence. La valeur du cookie est fixée par ailleurs (à l'entrée du site).
J'en suis là :
<head>
<script type="text/javascript">
CSScookValue = "" ;
function GetCookie ()
{
var egal = document.cookie.indexOf( "=" ) ;
CSScookValue = document.cookie.substring ( egal + 1 ) ;
if ( CSScookValue == "" ) {CSScookValue = 2 ;}//en l'absence de cookie, met la valeur par défaut à 2
}
if (CSScookValue == 1)
{
document.write ('<link rel="stylesheet" type="text/css" media="screen" href="../css/css1.css" />')
}
else {
if (CSScookValue == 2)
{
document.write ('<link rel="stylesheet" type="text/css" media="screen" href="../css/css2.css" />')
}
}
</script>
</head>
<body onLoad="GetCookie()">
texte témoin pour voir l'effet de la CSS chargée
</body>
</html>
Mais cela ne marche pas. Je pense qu'en fait, ma variable CSScookValue est remise à zéro dès que je sors de la fonction dans laquelle elle est acquise. Et si je mets mon IF de sélection CSS dans cette fonction, le navigateur boucle dans le vide (j'imagine que charger une css dans un fonction "onload" n'est pas possible (ça se mord la queue..).
J'ai essayé pas mal de chose, mais ma connaissance javascript n'est pas suffisante.
Si quelqu'un peut me donner un coup de main, cela serait très sympa.
Merci d'avance.
Configuration: Windows Vista Internet Explorer 7.0
Salut,
<html>
<head>
<script language="javascript">
CSScookValue = "" ;
var egal = document.cookie.indexOf( "=" ) ;
CSScookValue = document.cookie.substring ( egal + 1 ) ;
if ( CSScookValue == "" ) {
CSScookValue = 2 ;
}//en l'absence de cookie, met la valeur par défaut à 2
if (CSScookValue == 1) {
document.write ('<link rel="stylesheet" type="text/css" media="screen" href="css1.css" />');
}
else {
document.write ('<link rel="stylesheet" type="text/css" media="screen" href="css2.css" />');
}
</script>
</head>
<body>
texte témoin pour voir l'effet de la CSS chargée
</body>
</html>
bonne chance pour la suite ;-)
|
Je viens de trouver la réponse à ma question concernant le rechargement de la page :
|