Page 1 sur 1

changer de css par formulaire

Publié : 29 nov. 2003, 23:45
par SX1
Salut,

Pour un site en XHTML 1.0 (et donc css) je voudrait pouvoir permettre aux visiteurs de changer de présentation, en leur laissant le choix de la feuille css, comme sur ce site.

Pour le formulaire de choix cà va, mais il y a forcément un script à mettre sur le serveur je suppose.

Ou est-ce que je pourrait trouver un script de ce type ?

Parce que le scripting, c'est pas trop mon truc 8)

Publié : 01 déc. 2003, 17:15
par Optélium
Parce que le scripting, c'est pas trop mon truc
Aïe...
J'ai fait un truc dans ce genre sur mon début de pré-version de site:http://haessig.dominique.free.fr (faudrait que je change l'adresse quand même!)
Ça marche très bien mais y a du PHP derrière et un peu de javascript.
Si ça t'intéresse tu peux télécharger la source que je vais mettre en ligne dans un instant mais va falloir que t'utilises un serveur pour visualiser ( http://www.easyphp.org si t'es sous windows et que tu l'as pas déja)

Publié : 01 déc. 2003, 21:01
par Benoit
Il y a une solution tout-en-javascript sur http://www.alistapart.com/stories/alternate/

Mais le mieux est d'avoir un navigateur gérant cela nativement ;)

changer de css par formulaire

Publié : 01 déc. 2003, 23:49
par SX1
Merci pour le lien vers le site us et son script js, cela à l'air bien, je teste dès que possible et je vous en dis la suite... :)

Publié : 02 déc. 2003, 13:57
par bambi

Publié : 02 déc. 2003, 15:52
par fredchat
Benoit a écrit :Mais le mieux est d'avoir un navigateur gérant cela nativement ;)
Mouais, enfin, bon.

Mozilla permet certes de changer de feuille de style mais il ne ermet pas encore de garder le style choisi lors de la navigation.

changer de css par formulaire

Publié : 02 déc. 2003, 22:42
par SX1
Justement l'avantage du script dont il est question + haut est de forcer la feuille sur tout le site via un cookie (oui, je sais, encore un...).

Sinon, j'essaye et il n'y a rien qui bouge sur mes pages de test.
je suis vraiment pas bon ou alors les fonctions javascript

HTMLLinkElement.getAttribute("rel")

HTMLListElement.getAttribute("title")

HTMLLinkElement.getAttribute("rel")

ne tournent pas en XHTML ???

Publié : 04 déc. 2003, 04:40
par mat
Aucune raison pour ca, montre tes pages de test.
Au passage, une solution php est quand meme preferrable (si on peut eviter le javascript autant le faire)...
http://www.alistapart.com/articles/phpswitch/
http://cvsweb.tuxfamily.org/cvs/openweb ... penweb-cms

Publié : 04 déc. 2003, 09:45
par titou
Oui entièrement d'accord avec Mat, le php si il est dispo sur le site qui heberge est la meilleure solution, ne pas oublier que 10% des internautes ont le javascript inactif. Pour les cookies ça doit être encore plus haut avec la parano qui existe sur le net la aussi y a moyen de faire sans mais il faut passer par les sessions php ou alors à la conception initiale du site faire suivre un parametre sur toutes les liens et autres, par contre cela reste valable que pour la session ou la visite continue, pour la prochaine visite seul le cookie permet de garder le style choisi.

Publié : 04 déc. 2003, 15:37
par Benoit
Si tu fais ça en PHP, il y a plein de choses à gérer pour ne pas devoir renvoyer toute la page à chaque fois.

Je pense que la solution JavaScript est plus souple dans le sens où le cache est géré "naturellement". D'autant que la solution PHP a également besoin des cookies.

Mais si comme le dit titou, plus de gens désactivent les cookies que le JavaScript, je pense que peu désactivent le JavaScript tout en laissant les cookies (seul cas où la solution PHP aurait un net avantage).

changer de css par formulaire

Publié : 23 déc. 2003, 00:14
par SX1
Voilà je suis de retour sur ce sujet :

Je suis donc parti sur une solution en php + cookie, à partir des explications de l'excellent site http://ben2boot.com/tech/traductions/ala/phpswitch/

Ma page de test est ici : http://nicolas.chazot.free.fr/test.htm (original :lol: )

Le pb est le suivant :

mon site à 3 feuilles css, une par défaut (3sip.css), une alternative (3sipblu.css) et une pour l'impression (print.css).

Sous moz 1.5, le changement de feuille à partir du menu affichage se fait sans soucis.

Mais avec le script php+cookie+ menu de choix, rien de bouge !
:(

Le script est :switcher.php3 (3 pour free qui ne prend plus le php tout court)

c'est : <?php
setcookie ('sitestyle', $set, time()+86400, '/', 'nicolas.chazot.free.fr', '0'); header("Location: $HTTP_REFERER");
?>

:?: Ou est-ce que je me gourre ?

(attention, la feuille alternative n'est pas fini, c'est pas bÔ...