VoLc0m
Messages postés40Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention24 avril 2008
-
10 avril 2008 à 17:16
Bud666
Messages postés4Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention 8 janvier 2009
-
8 janv. 2009 à 14:15
Bonjour,
J'utilise l'objet XmlHTTPRequest (AJAX) pour charger une page web dans le contenu d'un div. La page chargée dans le div contient du code javascript, mais celui-ci n'est pas exécuté.
Comment puis je faire pour que le code javascript chargé puisse être interprété?
Bud666
Messages postés4Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention 8 janvier 2009 23 avril 2008 à 22:12
Pour répondre à ta question, oui en effet, il faut utiliser un eval(). Mais le eval ne permet nullement d'interpreter un code HTML genre <SCRIPT> (enfin si je n'ai pas perdu la mémoire ), il faut donc nettoyer le code pour ne garder que le javascript.
VoLc0m
Messages postés40Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention24 avril 2008 24 avril 2008 à 16:53
Bonne idée, mais j'ai toujours un problème :
dans la page qui est chargée en asynchrone, j'ai du code javascript mais aussi les includes de mes fichiers .css et .js, ainsi que des définitions de fonctions.
A la fin de ma page j'ai mis dans des balises scripts, l'appel à ma fonction init(); qui est censée instancier un objet, qui est issu d'une librairie .js, implémentée dans cette meme page.
Y a t il un moyen de contourner le probleme sans tout déclarer mes includes dans ma première page qui fait office de frame?
Bud666
Messages postés4Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention 8 janvier 2009 28 avril 2008 à 19:14
En fait, ce que je te conseil, c'est de charger le maximum de fichier js, css au démarrage, cela te permet ensuite de faciliter l'insertion avec ajax.
Après, ceci n'engage que moi...
cs_Torez
Messages postés8Date d'inscriptionjeudi 31 janvier 2008StatutMembreDernière intervention 7 janvier 2009 7 janv. 2009 à 10:41
Salut,
Désolé de déterrer ce topic, mais j'ai exactement le même problème que Volc0m !
J'ai une page appelée avec AJAX et quand je note un simple test :
<script type="text/javascript">
document.write("test");
</script>
Ca ne fonctionne pas.
J'ai essayé avec eval() comme ceci :
<script type="text/javascript">
var test = "test";
eval(test);
document.write(test);
</script>
et comme cela :
<script type="text/javascript">
eval(document.write("test"));
</script>
et ça ne fonctionne absolument pas !
Est-ce que tu as trouvé une solution Volc0m ?
Ou est-ce que quelqu'un peut m'aider svp ?
J'aimerais vraiment savoir comment exécuter du javascript dans une page appelée avec AJAX.
Ah oui, petite précision troublante ( troublante pour moi ) si je fais :
là ça fonctionne !!!
Donc, le problème, c'est que ce que je met entre les balises <SCRIPT> n'est pas pris en compte !
Bud666
Messages postés4Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention 8 janvier 2009 8 janv. 2009 à 14:15
Alors, pour répondre a tes questions :
"
là ça fonctionne !!! "
Oui, dans ce cas là, tu lui demande juste d'afficher un controle qui contient des propriétés (onClick en est une, ainsi que le code qui lui est associé).
Il faut différencier la balise <script> qui elle, n'est pas interprétées lors du chargement Ajax. pour que cela marche, il faut appliquer le eval() sur tout le document que tu as chargé.
et pas seulement sur le code...
soit str la chaine qui est chargée via Ajax, tu dois faire
eval(str);
Voili voilou, en espérant avoir été assez clair ;)