Changer de CSS sous IE

shadow_54 -  
 shadow_54 -
Bonjour,

Voilà je suis entrain de créer un site internet, l'apparence de ce site est géré par une feuille CSS
Il n'y a aucun problème de compatibilité par rapport à IE.

Seulement à un moment donné, j'appel une autre feuille CSS (avec la bibliothèque jquery) qui vient remplacer la 1ere (en gros mon site change d'apparence lorsqu'un utilisateur enregistré se connecte).
L'utilisation de jquery ou même de javascript ne pose aucun problème sous IE pour l'instant SAUF pour ce remplacement de feuille css.

Je cherche une solution depuis plus de 3 semaines et toujours rien, j'ai quand même compris ce qui posait problème, une seule ligne de code que IE ne semble pas comprendre la voici:

$(#style).append("'<link href="StyleProf.css" rel="stylesheet" type="text/css" />

Je rappel que c'est du jquery. L'appel de mes CSS se fait dans une balise div appelé "style" (j'ai essayé de le laisser dans la balise head comme on fait la plus part du temps mais cela ne résou pas le problème). "append" permet de rajouter quelque chose à l'interieur d'une balise (ici la balise style).

Alors voilà, il semble que IE ne rajoute pas le lien vers le nouveau CSS dans cette fameuse balise!
Pourtant la fonction "append" fonctionne bien sous IE puisque si je remplace l'appel de la feuille CSS par du simple texte, IE va m'afficher ce text sans problème.

Alors voilà si quelqu'un sait comment résoudre mon problème ou bien si quelqu'un a une autre méthode pour remplacer une feuille CSS par une autre en cliquant sur un bouton ^^!

En vous remerciant d'avance pour vos réponses!
A voir également:

4 réponses

shadow_54
 
Personne ne peut m'aider?
0
jona303 Messages postés 369 Date d'inscription   Statut Membre Dernière intervention   28
 
Tu saurais donner la ligne complete ? (fin toute l'instruction) par ce que la c'est difficle de voir..

A priori ça me semble un probleme de quote

0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
$(#style).append("'<link href="StyleProf.css" rel="stylesheet" type="text/css" /> ...
Rien qu'avec ça, on sait déjà qu'il y a un problème sur cette ligne : ta chaine est ouverte par un guillemet double, donc elle doit se fermer par un guillemet double non échappé : ta chaine est fermée après "href="

Essaye avec ça :
$(#style).append('<link href="StyleProf.css" rel="stylesheet" type="text/css" />');
0
shadow_54
 
Arf nan quel idiot! Aucun problème de quottes ou de guillemets dans mon code j'ai bêtement fait une faute en écrivant la ligne sur le topic, j'ai pourtant fait attention de relire.... bref voilà ce que ça donne vraiment, je vous met toute la fonction javascript, c'est long mais comme ça tout le monde comprendra mieux la logique du truc lol!


function recupInfo()
	{
		//On vérifie Login et Mdp: On récupère d'abord les infos puis on appel validerLogin.php qui vérifie la validité
		leLogin=$("#login").val(); //C'est du jquery, on récupère dans une variable la valeur contenue dans la balise (champs) identifiée par login
		leMdp=$("#mdp").val();
		
		//Appel de validerLogin
		$.ajax({
			   url:"validerLogin.php", //Url de fichier php
			   type:"POST", //la méthode avec laquelle on échange les informations
			   data:"login="+leLogin+"&"+"mdp="+leMdp, //On affecte la valeur du login et du mdp dans les variables de validerLogin
			   success:function(resultat) //En cas de succes (de l'appel de la page php) on affecte la valeur que renvoit validerLogin dans resultat
			   		   {
						   resultat=$.trim(resultat); //trim sert à enlever les éventuels espaces (ne marche pas sans cela)
						   //alert(resultat);
						   if( resultat == "Enseignant" || resultat=="MembreCA" )//dans le cas ou l'utilisateur est un enseignant ou membre de l'adiministration
						   {
							   //alert("on est dans le if");
							   $("#Form").empty(); //On efface le formulaire de saisie du mot de passe et du login
							   $("#Etat").html("Vous êtes connecté"); //On change ce que contient la balise d'id Etat en "vous êtes connecté"
							   $("a.connexion").html("Se déconnecter");
							   $("a.inscription").html("");
							   $("a.effacer").html("");
							   //On fait apparaitre le menu spécifique aux enseignants
							   $("a.cahier").html("Cahier de texte");
							   $("a.articles").html("Articles");
							   $("a.emploiTps").html("Emploit du temps");
							   $("a.salleInfo").html("Salle Informatique");
							   if (leLogin=="administrateur" && leMdp=="0640026f")//Cas dans lequel c'est l'administrateur, formulaire pour confirmer l'ajout d'un compte
												  {
												  $("#Form").append('<form name="connexion" method="post"> <br> Autoriser un compte <br>                                                                     Entrez un nom d\'utilisateur: <input id="login2" type="text"> <br>                                                                     <input type="button" onclick="javascript:confirmerInscription();" value="Autoriser"><br><br>');
												  }
							   //$("#style").html("");
							   //On change également le style du site
							   $("#style").empty();
							   $("#style").append('<link href="StyleProf.css" rel="stylesheet" type="text/css" />');
							   noLog=false;//On est désormais connecté
						   }
						   else
						   {
							   if (resultat == "Parent")//L'utilisateur est un parent
							   {
								    $("#Etat").html("Vous êtes connecté"); //On change ce que contient la balise d'id Etat en "vous êtes connecté"
							   		$("#Form").empty(); //On efface le formulaire de saisie du mot de passe et du login
							  		$("a.connexion").html("Se déconnecter");
							  	    $("a.effacer").html("");
							   		noLog=false;   
							   }
							   else//Ce n'est ni un enseignant, ni un parent, l'iddentification a donc échoué
							   {
							   		$("#Etat").html("Erreur de login ou de mot de passe");
							   }
						   }
					   }
			   });
	}


Voilà pas sûr que ce problème est une solution mais j'epère que l'un d'entre vous pourrais m'éclairer ^^!
Merci!
0