xmlhttprequest - problème pour inclure un bout de code

xmlhttprequest - problème pour inclure un bout de code - HTML/CSS - Programmation

Marsh Posté le 21-08-2008 à 20:56:46    

Salut,  
 
J'espère que vous pourrez m'aider :pt1cable:  
 
J'ai une page qui gère l'affichage de bannières ici http://www.animtv.net/ban.html
 
Ce que je voudrais, c'est charger cette page ( ce bout de code ) dans une autre page avec la fonction xmlhttprequest http://www.animtv.net/page.html mais je ne sais pas pourquoi le navigateur mouline sans arrêt. d'ailleurs le texte blabla ne s'affiche même pas..
pourtant au lieu d'écrire le bout de code avec document.write, je fais un alert, le bout de code code est bien là... http://www.animtv.net/page2.html


Message édité par Ryoh le 21-08-2008 à 21:05:10
Reply

Marsh Posté le 21-08-2008 à 20:56:46   

Reply

Marsh Posté le 21-08-2008 à 22:24:21    

1) utilise Firebug pour voir ce qui se passe dans ton code
2) un document.write ECRASE le document courant, tu dois choper l'element que tu veux "remplir" et y placer tes données à ta guise (avec innerHTML par exemple)


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 22-08-2008 à 10:45:45    

SICKofitALL a écrit :

1) utilise Firebug pour voir ce qui se passe dans ton code
2) un document.write ECRASE le document courant, tu dois choper l'element que tu veux "remplir" et y placer tes données à ta guise (avec innerHTML par exemple)


 
ah ok c'est pour ça que j'ai l'impression qu'il passe à un écran suivant.
 
Voici mon code de la page appelant :
 

Code :
  1. blabla<br />blabla<br />
  2. <script type="text/javascript">
  3. var xhr_object = null;
  4. if(window.XMLHttpRequest) // Firefox  
  5.    xhr_object = new XMLHttpRequest();
  6. else if(window.ActiveXObject) // Internet Explorer  
  7.    xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  8. else { // XMLHttpRequest non supporté par le navigateur  
  9.    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  10.  
  11. }
  12. xhr_object.open("GET", "http://www.animtv.net/ban.html", true);
  13. xhr_object.onreadystatechange = function() {
  14.    if(xhr_object.readyState == 4)
  15.    document.write(xhr_object.responseText);
  16. }
  17. xhr_object.send(null);
  18. </script>


 
et le code la page appelée  
 

Code :
  1. <script language="javascript" type="text/javascript">
  2. // Le tableau qui va contenir les images.
  3. var tab_images=new Array();
  4. tab_images[0]=["http://www.animtv.net/bannieres/annecy2.jpg", "http://www.animtv.net/film-animation-19"];
  5. tab_images[1]=["http://www.animtv.net/bannieres/ccip.jpg", "http://animtv.net/film-animation-18"];
  6. // Le delai de passage d'une image a l'autre en millisecondes -> 1s=1000
  7. var delai=2000;
  8. // Variable de compteur qui indiquera a quelle image on se trouve
  9. var compteur=1;
  10. // La fonction qui va permettre le defilement
  11. function Diaporama(){
  12.     // partie ou on applique les filtres propres a IE
  13.     document.images.diaporama.src=tab_images[compteur][0];
  14.     document.getElementById("linkTo" ).href = tab_images[compteur][1];
  15. // On incremente le compteur de 1 pour passer a l'image suivante
  16. compteur++;
  17. // Si on a atteint la derniere image, on remet a zero le compteur et on rappelle la fonction Diaporama()
  18. if (compteur==tab_images.length)
  19. compteur=0;
  20. setTimeout("Diaporama()",delai)
  21. }
  22. // On charge au demarrage de la page la fonction de defilement des images
  23. window.onload=new Function("setTimeout('Diaporama()',delai)" )
  24. </script>
  25. <a id="linkTo" href="#" target="_blank">
  26. <img src="http://www.animtv.net/bannieres/annecy2.jpg" name="diaporama" border="0">
  27. </a>


 
je vais me renseigner sur le innerhtml et bosser un peu ce soir. tu peux m'en dire un peu plus sur la procédure à faire ?
 
Merci.


Message édité par Ryoh le 22-08-2008 à 11:28:17
Reply

Marsh Posté le 22-08-2008 à 12:11:24    

Si je comprends bien, ton deuxieme bout de code est appellé via ajax ?  
Alors ca marchera pas, car dans tout les cas il va PAS parser le code javascript qui est dedans, encore moins le "onload". Pour ce genre de cas, un IFRAME serait mieux adapté.


---------------
We deserve everything that's coming...
Reply

Sujets relatifs:

Leave a Replay

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