2009-02-26 4 views

Répondre

1

Par conception jQuery vise à améliorer les implémentations de navigateur. Comme il n'y a pas de problèmes avec la façon dont les différents navigateurs implémentent eval il n'est pas adressé par jQuery.

6

Cherchez-vous réellement à exécuter du code Javascript (qui sera toujours dangereux dans une certaine mesure), ou essayez-vous d'analyser JSON à partir d'une chaîne dans un objet?

Si le premier, eval() est toujours votre meilleur pari. Si ce dernier, jQuery do it for you dans le cadre d'une requête AJAX, ou vous pouvez utiliser un JSON plug-in dédié pour convertir entre chaîne et objet sans risque d'exécuter du code arbitraire.

2

Je ne pense pas qu'il est vrai qu'il n'y a pas de différences de navigateur. J'en ai juste croisé un aujourd'hui. Si vous évaluez une chaîne qui appelle une méthode sur un objet qui n'existe pas, Firefox renvoie undefined et IE6 lève un TypeError.

Questions connexes