ben il suffit qu'il te colles le fichier au format texte sur le serveur et toi tu xhr dessus
Version imprimable
ben il suffit qu'il te colles le fichier au format texte sur le serveur et toi tu xhr dessus
c'est pas pour lancer un troll sur eval(désolé gibaa), mais es-tu sûr que ta solution est techniquement (d'un point de vue de l'exécution) différente ou meilleure que le eval ?
j'ai déjà entendu des rumeurs sur le contexte qui était différent ou perdu, mais pourtant :
donne exactement le résultat escompté. (testé sous IE et CHROME)Code:
1
2
3
4
5
6
7 var myjson = 1; (function(myjson){ myjson = 2; eval("myjson="+json); // (new Function("myjson= "+json))(); alert(myjson.windows[0].title); // BoardDefinition })(); alert(myjson); // 1
donc par curiosité, j'aimerai savoir d'où vient ces apprioris sur eval, de vieilles versions de navigateurs qui le gérait mal ? autres raisons ? des liens explicatifs à me proposer ?
merci d'avance et désolé pour le léger hors sujet.
edit: pour être tout à fait honnête, j'ai déjà rencontré un problème avec eval, la perte du caller lors de l'appel d'une fonction dans un eval sous IE.
edit: je viens de tester ces dernières lignes avec "new Function" et le bug ne se produit pas. (mais il faut appeler le caller.caller puisque le caller est la fn anonyme) :ccool:Code:
1
2
3
4
5
6
7 function alpha(){ alert(alpha.caller); // null sous IE } function beta(){ eval("alpha()"); } beta();
ben c'est surtout que eval permet l'injection de javascript