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.
Trouvez des réponses à vos questions sur la création de sites web, le référencement et les meilleures pratiques pour gérer un site. Échangez avec d'autres webmasters passionnés pour améliorer vos compétences en ligne et optimiser vos projets de site web.