Bonjour tout d'abord Smiley smile ,

Je me suis nouvellement inscris sur le forum, parcourant depuis quelque temps déjà le superbe et instructif site d'Alsacréations Smiley cligne

Sur cette petite présentation, passons à mon petit soucis Smiley rolleyes

J'ajouterai aussi que je ne suis pas un pro ^^ j'essaye d'apprendre et d'adapter certains codes etc...enfin vous voyez le genre de personne je pense.


Je regardais les effets proposés par aculos Moofx et . Mon choix c'est porté sur simpleJS, et j'ai voulu tester la fonction Ajax. * curieux *

Alors tout fonctionne, seulement j'ai une page avec un css, du genre le texte de couleur bleu. Et lorsqu'on clic sur un lien pour charger par la fonction de simplejs on charge une autre page, avec un autre css.
Dans Firefox le css de la seconde page est pris en compte, mais sur IE7 hélas, non.

Je voulais savoir si vous aviez un avis et/ou solution à me proposer.

Merci !

Exemple pour appuyer mes explications ^^ :

test
Et ici la page appelée : appel
Modifié par spike2 (07 May 2007 - 17:55)
Quel est ton code JS pour la modification CSS ? Je ne comprends pas bien ton problème.

Sur ie6 (je n'ai pas le 7) le texte reste bleu alors que sur Opéra je le voit clignoter de bleu à rouge et sur FF (1.5) le texte est rouge.

Que devrait t'il se passer ?

Rude
a écrit :
Quel est ton code JS pour la modification CSS ? Je ne comprends pas bien ton problème.


Aucun, j'ai juste placé dans la page à charger un lien pointant vers le css correspondant.

Du type :
<link rel="stylesheet" type="text/css" href="appel.css" media="screen" />


En fait, la première page test.php (j'ai rajouté du texte pour bien comprendre) pointe vers un css où le texte est écrit en bleu. Quand on clic sur le lien, ça charge une page qui pointe vers un css où le texte est écrit en rouge.

Sous Firefox quand on charge la page, le css de la nouvelle page est bien prit en compte, mais pas sur IE et autre navigateurs.

Voila ^^
Bonjour,

spike2 a écrit :
Aucun, j'ai juste placé dans la page à charger un lien pointant vers le css correspondant.

À vue de nez, ce que tu charges n'est pas une page HTML complète, mais simplement un contenu HTML, avec au début un élément title et un élément link. Je crois que c'est déjà un miracle que ça marche de cette manière dans Firefox.

Le mieux que tu aies à faire, à priori, c'est de charger à l'avance tous les styles CSS dont tu auras besoin. C'est à dire : mettre les styles CSS pour les contenus potentiellement appelés par la suite dans la feuille de style globale directement. Du coup, tu n'as plus besoin d'appeler une feuille de style, mais uniquement d'appeler ton contenu HTML, qui sera mis en forme automatiquement.

Pour t'y retrouver, tu auras peut-être intérêt à faire un truc comme ça :
appel.php :
<div id="appel">
... le contenu actuel de appel.php, mais sans title et link ...
</div>

test.php :
... la feuille de style normale ...

/* Appel */
div#appel  {...}
Merci Florent ça fonctionne bien comme ça.

J'hésite à poser un second problème qui va avec Smiley rolleyes

Admettons que je veuilles ajouter un haut de page au dessus :
i c i
Oui le code est reprit de ce site ^^


h1#header
		{
	height: 240px;
	margin: 0;
	border: thin dotted #000000;
	
		}
		
		h1#header a
		{
	width: 320px;
	height: 200px;
	display: block;
	background: url(image/forumhaut.jpg) no-repeat;
	position: relative;
	left: 120px;
	top: 15px;
		}
		
		h1#header a span
		{
			display: none ;
		}


Il y a un moyen de charger une nouvelle image en même temps ? C'est à dire remplacer la ligne
background: url(image/forumhaut.jpg) no-repeat; 
par
background: url(image/autre_image.jpg) no-repeat; 


J'ai cherché quand même ^^ et fais pas mal d'essaye, mais seulement Firefox arrive au résultat que je souhaite.

Sachant que pour charger la page je passe par cette fonction :

<a id='linkfonct1'  href="#" onclick="$ajaxreplace('contenu', 'appel.php');  flashlinks(this.id); return false">cliquez ici</a>


Il y a peut etre un moyen de charger deux élements à la fois en un clic ?

MHh, sinon tant pis, merci déjà Smiley cligne
Modifié par spike2 (07 May 2007 - 16:02)
Tu voudrais changer l'image d'en-tête en même temps que le contenu ? Il y a probablement moyen de faire ça en Javascript, en cliquant sur un seul lien, effectivement. Ça me dépasse un peu, mais c'est possible et ça ne doit pas être bien sorcier. Il suffira je suppose d'une petite fonction avec deux actions distinctes.

Mais j'ai l'impression que tu cherches à utiliser de l'Ajax pour construire la navigation d'un site web, et pour passer carrément d'une page à une autre. C'est très fortement déconseillé, en particulier pour l'accessibilité du site.

Je crois qu'à ton niveau tu aurais mieux à faire. Par exemple : faire correctement un site dynamique, avec PHP, voire en utilisant un CMS. Une fois que cette démarche sera acquise, il sera toujours temps de s'intéresser à Ajax et compagnie.
C'est pas grave ^^

En fait je testais seulement pour voir ce que ça pouvait donner.

J'ai lu les inconvénients de l'ajax et même d'ailleurs, testé. Rien que ne pas pouvoir utiliser les boutons de pages précédentes et suivantes du navigateur ça me bloque ^^. J'ai déjà un site dans un collège en fait, alors si j'impose ça aux élèves ils seront complétements perdus ^^

Non mais ça peut être pratique pour quelques petits effets, pas pour un site complet je reconnais aussi.

Voila j'ai fini de parler, merci pour ton aide Smiley cligne