11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
comme le titre l'indique j'ai une fonction JavaScript contenu dans une page php, cette page php est appelé par une fonction ajax.
Or quand l'appel est réalisé le dom est déjà chargé et donc le navigateur n’interprète pas le JavaScript contenu dans ce fichier php.
Je suis persuadé qu'il existe des solutions et il me semblait que window.eval() répondait à mon problème. Mais en revenant sur une de mes applications je me suis rendu compte que window.eval() ne faisait rien....
Avez vous d'autres solutions ?
C'est possible avec jQuery ($.ajax ou $.getScript()). Sinon avec eval() ça fonctionne très bien.
Modifié par jb_gfx (13 Apr 2011 - 20:19)
Il est préférable d'éviter eval, qui ouvre aisément la porte à des problèmes de sécurité.
Si tu dois agir sur du html généré dynamiquement, une solution courante est simple consiste à utiliser live.
Quant au code js contenu dans le code chargé par ajax, mieux vaut le déplacer dans un fichier externe.
J'ai pas compris en quoi live pouvait m'aider, et je ne peux déplacer cette fonction dans un fichier externe.
Sinon pour ($.ajax et $.getScript()) le problème c'est que ça me fait un appel Ajax en trop... donc à voir...
Pourquoi tu ne charges pas le javascript en même temps que la page ou il y a ta fonction ajax?
Modifié par silentauben (20 Apr 2011 - 14:42)