Modérateur
Bonjour,

J'utilise un script "styleswitcher" codé en javascript afin de changer de style à la volée. Aussi, celui-ci me crée quelques soucis différents suivant les naviguateurs.

Mes 2 styles se nomment "nature" et "néo".

Sous FF, lorsque je passe de "nature" à néo, pas de problèmes. Par contre, lorsque je fais le chemin inverse, les titres de mon menu se superposent aux images censées les remplacer. La propriété text-indent n'est alors plus interprétée. En appuyant sur F5 ou en changeant de page, ce problème disparait.

Sous IE, pas de problèmes... Précision: La mise en page n'est pas adaptée à IE pour le moment donc c'est normal l'explosion de la mise en page.

Sous Opéra, en revanche, ce n'est pas normal du tout... Parfois, la feuille de style n'est plus interprétée et il faut rappuyer sur un style pour que çà revienne... Parfois, quand on passe sur "néo", la mise en page disjoncte ou disparait et ce n'est qu'à coup de régèn' ou de clic sur le style que çà repasse à la normal.

Bref, ce script me semble bien hasardeux. Dois-je tout simplement l'oublier et passer par une solution php ou bien peut-on l'adapter? Etant donné que çà ne fonctionne pas sans javascript, je pense bien le remplacer mais tout de même, j'aimerais bien comprendre ce qu'il se passe.

Le site, c'est koalnet.com,
la mise en page "nature" se trouve ici,
la mise en page "néo" se situe
et le script est le suivant.

Quelqu'un peut-il m'aider?

Merci.

Ps: N'étant pas sur à 100% que ce soit un problème javascript, je place ce sujet dans ce forum...
Modifié par koala64 (07 Aug 2005 - 11:00)
Modérateur
J'ai pourtant lu sur le site d'Olivier qu'il était souhaitable de privilégier le javascript pour cette action... Aussi, j'utilise ce script (obtenu sur "a list apart") depuis quelques temps déjà mais c'est seulement depuis mes nouvelles mises en page qu'il me pose ce type de problème... Smiley decu
Pourquoi ne pas en profiter, si tu le peux, pour passer à un style switcher côté serveur, qui élargira le nombre de bénéficiaires ?
Modérateur
Oui, je crois effectivement que çà reste la meilleure solution... Je vais tester...

Merci.
Modérateur
Bon, bah j'ai beau essayer, je n'arrive pas à faire fonctionner le script normalement.

Je suis parti du code fourni sur un article du site "a list apart". Voici l'article en question.

Et voici ce que j'ai fait:
[b]index.php[/b]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head> <title> Essais styleswitcher </title>
<meta http-equiv="Content-Type" content="text/html; CHARSET=iso-8859-15" />

<link
	rel="stylesheet"
	type="text/css"
	media="screen,projection"
	title="un background rouge"
	href="<?php echo (!$sitestyle)?'rouge':$sitestyle ?>.css" />

<link
	rel="alternate stylesheet"
	type="text/css"
	media="screen,projection"
	title="un background vert"
	href="./vert.css" />

</head> <body> 

<ul>
	<li> <a href="./switcher.php?set=rouge"> rouge </a> </li>
	<li> <a href="./switcher.php?set=vert"> vert </a> </li>
</ul>

</body> </html>
[b]rouge.css[/b]

body { background: #D00 }
[b]vert.css[/b]

body { background: #0D0 }
[b]switcher.php[/b]

<?php
setcookie ('sitestyle', $set, time()+31536000, '/', 'koalnet.com', '0');
header("Location: $HTTP_REFERER");
?>


En fait, çà marche sous IE mais pas sous FF et Opéra. Aussi, en lisant les commentaires de l'article, il semble que la notation header("Location: $HTTP_REFERER"); pose problème mais vu mon niveau déplorable en anglais, je n'ai pas bien compris... Smiley confused

Quelqu'un saurait-il résoudre ce problème?

Si vous souhaitez tester la page, elle se trouve ici.

Merci d'avance. Smiley smile

En attendant, je vais essayer le tutoriel d'Olivier...
Modifié par koala64 (07 Aug 2005 - 03:23)
Modérateur
Rebonjour,

J'ai essayé le tutoriel d'Olivier et çà marche donc j'oublie la méthode "a list apart". Par contre, j'ai un petit soucis... Je reposte dans le forum "Service après vente" -> plus approprié...