Bonjour,
Je rencontre un problème dans l'utilisation du script Styleswitcher de Paul Sowden ( http://www.alistapart.com/stories/alternate/ ). J'ai remarqué qu'alsacréations sur son site Pro utilise le même script pour changer de feuille CSS si l'utilisateur souhaite voir le site avec une taille de texte variable.
J'ai suivi l'exemple du site de Paul Sowden mais je rencontre une difficulté sous IE7.0.5730.13, alors que tout marche sous FF3. Cela fonctionne sous IE6, sous IE7.0.5730.11IS, et IE8.
Voici la page en question : devel.lauriane-formations.com
Sous IE7, le fait de donner un title dans le tag link qui appelle mon css entraîne tout simplement le non chargement du CSS, alors que title est censé en faire un "groupe" préféré.
En revanche le script fonctionne si j'enlève le title du CSS lu par défaut sous IE7, mais du coup le cookie du script ne marche pas (cookie qui sauvegarde le choix de l'utilisateur entre une feuille de style ou l'autre).
Voici mon code à l'origine :
Et voici l'appel au script dans mes pages :
Cette version ci-dessus ne marche pas sous IE7 avec title="petit" dans l'appel du CSS. Le CSS n'est pas chargé.
En revanche une fois le code du header écrit ainsi :
Cela marche sous IE7 (suppression du title), le script peut toujours passer d'un style à l'autre, mais le cookie ne fonctionne pas, puisque le script fait un test sur le title pour le créer.
Sur le site, il vous suffit de cliquer dans la partie droite sur les icônes symbolisées par une lettre "a" et "A".
Merci d'avance pour toute aide que vous pourriez apporter !
Cordialement,
PS : ce site est en développement donc fermez les yeux sur les petits bugs par ci par là ^^
PS2 : je précise que l'attribut #CHEMIN dans les href des link css est un code de SPIP, donc pas d'erreur de ce côté.
PS3 : il semblerait que ce soit lié à la version 7.0.5730.13 d'IE car cela fonctionne sous la version 7.0.5730.11IS.
Modifié par vahadar (29 Jan 2009 - 18:07)
Je rencontre un problème dans l'utilisation du script Styleswitcher de Paul Sowden ( http://www.alistapart.com/stories/alternate/ ). J'ai remarqué qu'alsacréations sur son site Pro utilise le même script pour changer de feuille CSS si l'utilisateur souhaite voir le site avec une taille de texte variable.
J'ai suivi l'exemple du site de Paul Sowden mais je rencontre une difficulté sous IE7.0.5730.13, alors que tout marche sous FF3. Cela fonctionne sous IE6, sous IE7.0.5730.11IS, et IE8.
Voici la page en question : devel.lauriane-formations.com
Sous IE7, le fait de donner un title dans le tag link qui appelle mon css entraîne tout simplement le non chargement du CSS, alors que title est censé en faire un "groupe" préféré.
En revanche le script fonctionne si j'enlève le title du CSS lu par défaut sous IE7, mais du coup le cookie du script ne marche pas (cookie qui sauvegarde le choix de l'utilisateur entre une feuille de style ou l'autre).
Voici mon code à l'origine :
<link rel="shortcut icon" type="image/x-icon" href="#CHEMIN{img/favicon.ico}" />
<script type="text/javascript" src="#CHEMIN{access/styleswitcher.js}"></script>
<!--[if gte IE 7]>
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie7.css}" title="petit" />
<link rel="alternate stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie7_big.css}" title="grand" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_print.css}" media="print" />
<![endif]-->
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie6.css}" title="petit" />
<link rel="alternate stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie6_big.css}" title="grand" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_print.css}" media="print" />
<![endif]-->
<![if !IE]>
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ff.css}" title="petit" />
<link rel="alternate stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ff_big.css}" title="grand" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_print.css}" media="print" />
<![endif]>
Et voici l'appel au script dans mes pages :
<div id="selecteur_style">
<div id="selecteur_petit">
<a href="#" onclick="setActiveStyleSheet('petit'); return false;" class="style_small" title="diminuer la taille du texte"><img border="0" width="40" height="40" src="#CHEMIN{img/selecteur_style_petit.gif}" alt="diminuer la taille du texte" /></a>
</div>
<div id="selecteur_grand">
<a href="#" onclick="setActiveStyleSheet('grand'); return false;" class="style_big" title="augmenter la taille du texte"><img border="0" width="40" height="40" src="#CHEMIN{img/selecteur_style_grand.gif}" alt="augmenter la taille du texte" /></a>
</div>
</div>
Cette version ci-dessus ne marche pas sous IE7 avec title="petit" dans l'appel du CSS. Le CSS n'est pas chargé.
En revanche une fois le code du header écrit ainsi :
<link rel="shortcut icon" type="image/x-icon" href="#CHEMIN{img/favicon.ico}" />
<script type="text/javascript" src="#CHEMIN{access/styleswitcher.js}"></script>
<!--[if gte IE 7]>
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie7.css}" />
<link rel="alternate stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie7_big.css}" title="grand" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_print.css}" media="print" />
<![endif]-->
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie6.css}" />
<link rel="alternate stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ie6_big.css}" title="grand" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_print.css}" media="print" />
<![endif]-->
<![if !IE]>
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ff.css}" title="petit" />
<link rel="alternate stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_ff_big.css}" title="grand" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/lauriane_formations_print.css}" media="print" />
<![endif]>
Cela marche sous IE7 (suppression du title), le script peut toujours passer d'un style à l'autre, mais le cookie ne fonctionne pas, puisque le script fait un test sur le title pour le créer.
Sur le site, il vous suffit de cliquer dans la partie droite sur les icônes symbolisées par une lettre "a" et "A".
Merci d'avance pour toute aide que vous pourriez apporter !
Cordialement,
PS : ce site est en développement donc fermez les yeux sur les petits bugs par ci par là ^^
PS2 : je précise que l'attribut #CHEMIN dans les href des link css est un code de SPIP, donc pas d'erreur de ce côté.
PS3 : il semblerait que ce soit lié à la version 7.0.5730.13 d'IE car cela fonctionne sous la version 7.0.5730.11IS.
Modifié par vahadar (29 Jan 2009 - 18:07)