J'ai récupérer un code source AJAX pour que j'ai du quelque peu modifier pour pouvoir exécuter des balises <script> dans une page appelée via XHR.
Cela fonctionne sous FF, mais avec IE, il me retourne une erreur de script à cause du "window.eval(d.getElementsByTagName('script')[0].text);"
Si je reire le [0], il n'y a plus d'erreur, mais alors les balises <script> ne sont plus exécutée.
Voici ma fonction XHR :
<script language="javascript" type="text/javascript">
function request(url,cadre)
{
var XHR = null;
if(window.XMLHttpRequest) // Firefox
XHR = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
XHR = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
// envoie de la requête, methode GET et de l'url
XHR.open("GET",url, true);
// on guette les changements d'état de l'objet
XHR.onreadystatechange = function attente() {
// l'état est à 4, requête reçu !
if(XHR.readyState == 4) {
// ecriture de la réponse
var d = document.getElementById(cadre);
d.innerHTML = XHR.responseText;
//Exécution de script dans AJAX
window.eval(d.getElementsByTagName('script')[0].text);
}
}
XHR.send(null); // le travail est terminé
return;
}
</script>
Si quelqu'un peut m'aider à faire fonctionner les balises <script> sous IE7 se srait super sympa.