[Javascript] XMLHttpRequest & optimisation

XMLHttpRequest & optimisation [Javascript] - HTML/CSS - Programmation

Marsh Posté le 14-04-2007 à 12:36:32    

Bonjour,  
 
J'ai un petit souci avec mon code, j'ai des modules qui se chargent indépendamment sur mon site (http://www.dareyourmind.com/) et le problème est que lorsque la page se charge pour la première fois l'affichage est quasi instantané. Mais lorsque l'on navigue ou actualise la page les modules sont de plus en plus long à charger voir même seulement quelques-uns se chargent.  
 
Je pense que c'est dû à une mauvaise gestion du cache et j'avoue que je ne sais pas comment résoudre ce problème. Mais peut-être qu'il y a une autre raison.
 
Toujours est-il que le site est rapide lors de la première visite mais devient très vite agaçant.  
 
Je vous fais parvenir le code :  
 
 

Code :
  1. function request02(id, url, post) {
  2. var XhrObj = null;
  3. if(window.XMLHttpRequest) // Firefox  
  4. XhrObj = new XMLHttpRequest();
  5. // Évite un bug du navigateur Safari :  
  6. if (window.overrideMimeType) {
  7. window.overrideMimeType("text/xml" );
  8. }
  9. else if(window.ActiveXObject) // Internet Explorer  
  10. XhrObj = new ActiveXObject("Microsoft.XMLHTTP" );
  11. else { // XMLHttpRequest non supporté par le navigateur  
  12. return alert("Please use Firefox or Internet Explorer to browse this website!" );
  13. }
  14. if(post){
  15. var method = "POST";
  16. }else{
  17. var method = "GET";
  18. }
  19. XhrObj.open(method, url, true);
  20. XhrObj.onreadystatechange = function()
  21. {
  22. if (XhrObj.readyState == 4)
  23. document.getElementById(id).innerHTML = XhrObj.responseText ;
  24. }
  25. if(method == "POST" ) {
  26. XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=iso-8859-1');
  27. XhrObj.send(post);
  28. }else{
  29. XhrObj.send(null);
  30. }
  31. }


 
Et sur l'index et d'autres pages, juste avant le </body> :  
 

Code :
  1. <!!!ICI est le script grace à un PHP include, et après il y a :!!!>
  2. <script language="JavaScript" type="text/javascript" src="Scripts/wz_tooltip.js"></script>
  3. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  4. </script>
  5. <script type="text/javascript">
  6. _uacct = "UA-1371816-1";
  7. urchinTracker();
  8. </script>
  9. </body>
  10. </html>


 
Voici ce qu'il y a dans la page PHP include :  
 

Code :
  1. <script language="javascript">
  2. listepost = new Array("despagespourrequettepost" );
  3. for(i = 0 ; i < listepost.length ; i++) {
  4. if (document.getElementById(listepost[i])) {
  5. request02(listepost[i], listepost[i]+'.php?<?=$getvariables?>', '<?=$postvariables?>');
  6. }
  7. }
  8. listeget = new Array("despagespourrequetteget" );
  9. for(i = 0 ; i < listeget.length ; i++) {
  10. if (document.getElementById(listeget[i])) {
  11. request02(listeget[i], listeget[i]+'.php?<?=$getvariables?>');
  12. }
  13. }
  14. </script>


 
Merci d'avance pour votre aide.

Reply

Marsh Posté le 14-04-2007 à 12:36:32   

Reply

Sujets relatifs:

Leave a Replay

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