Table des matières

Dojo ne se charge pas sous IE7

J'ai été confronté à un problème avec dojo qui m'a fait perdre pas mal de temps (et qui risque de continuer d'ailleurs).

Le problème

Je test souvent mes sites sur mon PC fixe sous firefox et en parallèle sous IE sur mon portable. J'avais donc terminé de codé une parti d'un site et tout fonctionnait à merveille aussi bien sous FF, IE7, IE6 et safari. Mais j'ai (allez savoir pourquoi) ouvert mon site avec IE7 sur mon pc fixe et là….
“Dojo is undefined” 8-o
Je recharge ma page (avec F5) et cette fois ça fonctionne… Je clic sur un lien et à nouveau une erreur javascript comme quoi dojo est indéfinie…
Il semblerait donc que sur certain ordinateur (ou version de IE7) dojo ne se charge pas correctement

Cause du problème

Aucune idée, j'ai comparé le IE7 de mon pc fixe et celui de mon portable à part un numéro de version différent tout les paramétrages sont les mêmes. J'ai réinstallé IE7 ça n'a rien résolu.
Je n'ai donc pas trouvé la cause du problème…

Solution

J'ai trouvé une solution sur le forum de dojo qui n'en est pas vraiment une. En effet, en mettant en commentaire ce code qui se trouve ligne 151 de dojo.js

javascript
while((tn=cn[i++])){
		if(!console[tn]){
			(function(){
				var tcn = tn+"";
				console[tcn] = function(){ 
					var a = Array.apply({}, arguments);
					a.unshift(tcn+":");
					console.log(a.join(" "));
				}
			})();
		}
	}

Mon ie charge correctement dojo.
Le problème est que je n'ai pas trouvé à quoi servait précisément ce code.
De plus modifier directement dojo.js n'est pas la solution idéale (du tout).
J'espère trouver une solution plus “efficace” au problème..
Si vous avez des suggestions ou des pistes n'hésitez pas a commenter cet article.


29/05/2008 11:11 -

ManiT4c
Gérant et chef de projet de l'agence web Op'art, je suis également webmaster freelance. Retrouvez moi également sur twitter.