ben il suffit qu'il te colles le fichier au format texte sur le serveur et toi tu xhr dessus
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager