je charge, en utilisant le JQuery ajax() méthode, une page externe à la fois html et javascript code:méthode JQuery .html() et les scripts externes
<script type="text/javascript" src="myfile.js"></script>
<p>This is some HTML</p>
<script type="text/javascript">
alert("This is inline JS");
</script>
et fixant les résultats dans un élément div, en utilisant la méthode html().
Bien que la méthode html() évalue correctement le code JS en ligne, elle ne télécharge et n'évalue pas le fichier JS externe "myfile.js".
Un conseil pour ce problème?
La modification du chemin src ne résout en fait pas le problème. Il semble que JQuery, lors de la définition des résultats dans la div avec la méthode html(), ne télécharge pas les scripts externes à partir de l'emplacement spécifié, et n'évalue pas son contenu. – Mark
Oui, parce que ce n'est pas le travail de JQuery. C'est le travail du navigateur. – middus
La méthode jQuery.getScript(), comme indiqué dans la documentation, "Charger un fichier JavaScript à partir du serveur à l'aide d'une requête HTTP GET, puis l'exécuter." Si c'est possible, j'éviterais d'analyser les balises "script" à partir des résultats, puis j'appellerais explicitement la méthode getScript() pour chacun d'entre eux. – Mark