Ajax eval() js ie ok / ff ok [Résolu]

Ajax eval() js ie ok / ff ok [Résolu] - HTML/CSS - Programmation

Marsh Posté le 31-03-2010 à 15:00:12    

Bonjour,  
J'ai un code et j aimerai qu il fonction sous firefox
pouriez me dir pourquoi firefox nje prend pas le code et ie 7 oui ? merci voila mes page:
 
index.php

Code :
  1. <html>
  2. <body onLoad="request('underdex1024_one.php','txt');return(false)">
  3. <a href="" onClick="request('underdex1024_one.php','txt');return(false)">test</a>
  4. <div id="txt"></div>
  5. <script language="javascript">
  6. function request(url,cadre) {
  7. var XHR = null;
  8. if(window.XMLHttpRequest) // Firefox
  9.  XHR = new XMLHttpRequest();
  10. else if(window.ActiveXObject) // Internet Explorer
  11.  XHR = new ActiveXObject("Microsoft.XMLHTTP" );
  12. else
  13. { // XMLHttpRequest non supporté par le navigateur
  14.  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  15.  return;
  16. }
  17.  // envoie de la requête, methode GET et de l'url
  18. XHR.open("GET",url, true);
  19.  // on guette les changements d'état de l'objet
  20. XHR.onreadystatechange = function attente()
  21. {
  22.   // l'état est à 4, requête reçu !
  23.  if(XHR.readyState == 4)   
  24.   {
  25.    // ecriture de la réponse
  26.   var d=document.getElementById(cadre);
  27.   d.innerHTML=XHR.responseText;
  28.   var mesScripts = document.getElementById("cadre" ).getElementsByTagName("script" );
  29.   for (var i=0; i<mesScripts.length; i++) {
  30.   eval(mesScripts[i].innerHTML);
  31.   }
  32. }
  33. XHR.send(null);  // le travail est terminé
  34. return;
  35. }
  36. </script>
  37. </body>
  38. </html>


 
test avec ce code sous ie7 et FF!! :D tout fonctione!
page underdex1024_one.php

Code :
  1. <div>
  2. <a href="" onClick="request('test1.php','echonews');return(false)"></a>
  3. <a href="" onClick="request('test2.php','echonews');return(false)"></a>
  4. </div>
  5. <div>menu1</div>
  6. <div id="echonews"></div>
  7. <script type='text/javascript'>
  8. var xml = new XMLHttpRequest();
  9. xml.open("get","ione.php", false);
  10. xml.send("" );
  11. var d=document.getElementById("echonews" );
  12. d.innerHTML=xml.responseText;
  13. eval(d.getElementsByTagName('script')[0].text);
  14. </script>


 
si je clic sur le lien la page underdex1024_one.php ce charge mais pas la page ione.php sous firefox  
tout est ok sous ie7
 
voila j ai tout donné
je suis pas bon en code javascript je vien juste de commencer et j ai du mal à comprendre...
 
merci


Message édité par seichan94 le 31-03-2010 à 20:52:59

---------------
i wish you had stayed here for 5 more minutes
Reply

Marsh Posté le 31-03-2010 à 15:00:12   

Reply

Marsh Posté le 31-03-2010 à 20:02:57    

Salut

 

T'es sur de tes exemples? A priori:

Code :
  1. <script type='text/javascript'>
  2. var xml = new XMLHttpRequest();
  3. xml.open("get","ione.php", false);
  4. xml.send("" );
  5. var d=document.getElementById("echonews" );
  6. d.innerHTML=xml.responseText;
  7. eval(d.getElementsByTagName('script')[0].text);
  8. </script>


devrait marcher sous FF et pas IE, alors que:

Code :
  1. <script type='text/javascript'>
  2. var xml = new ActiveXObject();
  3. xml.open("get","ione.php", false);
  4. xml.send("" );
  5. var d=document.getElementById("echonews" );
  6. d.innerHTML=xml.responseText;
  7. eval(d.getElementsByTagName('script')[0].text);
  8. </script>


devrait marcher nulle part je suppose, puisque tu crées pas l'object ActiveX en lui passant le paramètre "Microsoft.XMLHTTP".

 

Bref je sais pas trop, c'est accessible quelque part en ligne, ou bien t'as essayé de débugguer avec Firebug?
Et sinon y parait que les attributs en html doivent etre en lowercase, mais je dis ca parce que j'aime bien faire chier.

 

Edit: mais non attends, jcomprends rien, dans tes exemples tu geres pas le onreadystatechange, comment le premier peut marcher sans ca?


Message édité par lasnoufle le 31-03-2010 à 20:05:04

---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 31-03-2010 à 20:53:49    

voila tous est ok j ai modifier les codes et il fonctionne
merci pour ton aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed