skale Posté 9 Juin 2005 Posté 9 Juin 2005 bonjour, pour un nouveau site, je suis en train de développer différentes feuilles de style. La feuille choisie est enregistrée dans un cookie. Malheureusement pendant la navigation sur le site, si la page est en cache du navigateur, c'est la feuille précédente qui est utilisée. Comment forcer le navigateur a utilisé la feuille de style spécifiée par le cookie ? Actuellement j'utilise plusieurs fichiers CSS, est-il plus intéréssant de créer le fichier CSS en PHP en spécifiant de ne pas mettre la feuille en cache, pour avoir un fichier unique dans la balise link, ou bien avoir un fichier Css de base et faire différents import ? Merci, skale
golog Posté 10 Juin 2005 Posté 10 Juin 2005 (modifié) Peut-être trouveras-tu ta réponse sur cet article d'openweb ("présentations alternatives"). Voir notamment les références à la fin de l'article pour plus d'infos sur les style-switchers en eux-mêmes. Modifié 10 Juin 2005 par golog
Xavier Posté 10 Juin 2005 Posté 10 Juin 2005 Actuellement j'utilise plusieurs fichiers CSS, est-il plus intéréssant de créer le fichier CSS en PHP en spécifiant de ne pas mettre la feuille en cache, pour avoir un fichier unique dans la balise link, ou bien avoir un fichier Css de base et faire différents import ? <{POST_SNAPBACK}> Le problème de ces techniques c'est qu'il n'est plus possible de changer le style par l'interface du navigateur, et c'est bien dommage Pour ma part j'utilise ce changeur de style en javascript, je pense que le javascript est tout à fait adapté à ce côté "dynamique" de changement de style, c'est un petit plus vu qu'il est toujours possible de passer par l'interface normale Avantage : ça évite ton problème de cache, vu que le cookie est lu au chargement de la page, et non pas lors de son téléchargement
skale Posté 11 Juin 2005 Auteur Posté 11 Juin 2005 (modifié) j'ai suivi un peu tous les liens, et fais des recherches autour des Switchers ! ceux que j'ai trouvé construisent un formulaire de changement de style, si le javascript n'est pas activé il n'y a pas de sélecteur du tout, et je préfère utiliser des liens pour symboliser les différents styles disponibles. Enfin, je me force à lire du javascript, je fais mon petit script et ... ça marche pas. me voici confronté au problème de la compatibilité du javascript, et cette fois c'est mon navigateur préféré qui me fait défaut, à savoir Opera. Voilà une page très intéressante : compatibilité DOM - CSS et le code javascript qui tue: if( typeof(document.styleSheets) == 'undefined'){ return;} sans javascript le problème reste le même. Avec, ça marche pas pour tous les navigateurs. Et que va-t-il se passer si l'utilisateur modifie le style avec le navigateur, à la page suivante, ou bien les précédentes ? Surtout que parmi les internautes combien connaissent les CSS et savent que sur certains sites ils peuvent modifier la feuille de style employée, à mon avis ils ne sont pas nombreux. skale Modifié 11 Juin 2005 par skale
Xavier Posté 11 Juin 2005 Posté 11 Juin 2005 j'ai suivi un peu tous les liens, et fais des recherches autour des Switchers ! ceux que j'ai trouvé construisent un formulaire de changement de style, si le javascript n'est pas activé il n'y a pas de sélecteur du tout, et je préfère utiliser des liens pour symboliser les différents styles disponibles. Enfin, je me force à lire du javascript, je fais mon petit script et ... ça marche pas. me voici confronté au problème de la compatibilité du javascript, et cette fois c'est mon navigateur préféré qui me fait défaut, à savoir Opera. Voilà une page très intéressante : compatibilité DOM - CSS et le code javascript qui tue: if( typeof(document.styleSheets) == 'undefined'){ return;} Je n'avais jamais remarqué que ça ne marchait pas dans Opera sans javascript le problème reste le même.Avec, ça marche pas pour tous les navigateurs. Et que va-t-il se passer si l'utilisateur modifie le style avec le navigateur, à la page suivante, ou bien les précédentes ? Surtout que parmi les internautes combien connaissent les CSS et savent que sur certains sites ils peuvent modifier la feuille de style employée, à mon avis ils ne sont pas nombreux. skale <{POST_SNAPBACK}> À la page suivante, comme un cookie a été stocké, il est lu au chargement de la page, et le style précédemment choisi est directement appliqué. Idem sur les pages précédentes, vu que la page est rechargée à ce moment. Donc ça résout ton problème. Quand le JavaScript est désactivé, il n'y a effectivement rien, mais comme c'est un "plus" que tu propose ce n'est pas grave... enfin c'est à toi de voir l'importance que ça a, si tu ne le vois que comme un "plus" ou si ça doit faire vraiment partie de la page Maintenant c'est vrai que ça ne fonctionne pas dans Opera, et je ne m'en étais jamais rendu compte... mais Opera permet de changer la feuille de style par son interface (même s'il ne s'en souvient pas à la page suivante ) À part ça plutôt que de te demander combien d'internautes savent qu'ils peuvent modifier la feuille de style, tu peux leur expliquer, ça marche toujours
destroyedlolo Posté 13 Juin 2005 Posté 13 Juin 2005 Si t'as page est dynamique (PHP, SSI, ...) pourquoi ne pas inclure selectivement un CSS ou un autre ?
skale Posté 13 Juin 2005 Auteur Posté 13 Juin 2005 Si t'as page est dynamique (PHP, SSI, ...) pourquoi ne pas inclure selectivement un CSS ou un autre ? <{POST_SNAPBACK}> si le fichier est inclus, le problème de cache n'est résolu que si le fichier n'est pas mis en cache (header PHP par exemple), ce qui veut dire un téléchargement de la feuille de style à chaque page vue, à la longue, ça peut devenir vite lourd. Xavier a une autre réponse : il n'est plus possible de changer le style par l'interface du navigateur, et c'est bien dommage tant qu'à faire autant spécifier les différentes CSS grâce à la balise link et la valeur d'attribut stylesheet ou alternate stylesheet.
captain_torche Posté 2 Avril 2006 Posté 2 Avril 2006 (modifié) si le fichier est inclus, le problème de cache n'est résolu que si le fichier n'est pas mis en cache (header PHP par exemple), ce qui veut dire un téléchargement de la feuille de style à chaque page vue, à la longue, ça peut devenir vite lourd. Si chacune de tes feuilles de style a un nom différent, ça ne devrait pas poser de souci. Edit : si je me mets à répondre aux sujets que je trouve après une recherche moteur (réflexe), je vais remonter de vieux dossiers ... Modifié 2 Avril 2006 par captain_torche
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant