Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1396 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  HTTPRequest : Internet Explorer gèle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

HTTPRequest : Internet Explorer gèle

n°1162870
momo194
Posté le 28-07-2005 à 12:00:04  profilanswer
 

Bonjour,
 
J'ai un gros problème, j'ai un script(check_played.js) qui appelle une page PHP(game.php), qui retourne du HTML au script javascript, et, assez aléatoirement(parfois ça le fait, parfois pas), quand du code HTML est retourné, IE se gège: Internet explorer doit fermé, blablabla... fichier incriminé: mshtml.dll
 
code de check_played.php

Code :
  1. function refresh(jou_asking)
  2. {
  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
  9. { // XMLHttpRequest non supporté par le navigateur
  10.  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  11.  return;
  12. }
  13. window.document.images["board"].src = "get_picture.php?player="+jou_asking;
  14. xhr_object.open("GET", "game.php?player="+jou_asking, true);
  15. xhr_object.onreadystatechange = function anonymous0()
  16. {
  17. if(xhr_object.readyState == 4)
  18.  {
  19.  //alert(xhr_object.responseText);
  20.  document.getElementById("got_content" ).innerText = xhr_object.responseText;
  21.  }
  22. }
  23. xhr_object.send(null);
  24. }


 
Contenu type retourné par game.php(le nombre de "area shape" change, d'autres paramètres texte(joueur, atout, ...) changent aussi, mais je crois qu'ils ne sont que très peu(pas du tout) impliqués :
 

Code :
  1. <span>Joueur </span><b>2</b> | <span>Atout: coeur</span><br>
  2. <span>Main: Joueur 2</span><br>
  3. <span>Coups: 0</span><br>
  4. <map name='map'>
  5. <area shape='rect' coords='140,420,240,570' onclick='write_played(2, 15);' href='javascript:;' alt='Jouer cette carte'>
  6. <area shape='rect' coords='260,420,360,570' onclick='write_played(2, 13);' href='javascript:;' alt='Jouer cette carte'>
  7. <area shape='rect' coords='380,420,480,570' onclick='write_played(2, 11);' href='javascript:;' alt='Jouer cette carte'>
  8. <area shape='rect' coords='500,420,600,570' onclick='write_played(2, 9);' href='javascript:;' alt='Jouer cette carte'>
  9. <area shape='rect' coords='210,590,240,740' onclick='write_played(2, 7);' href='javascript:;' alt='Jouer cette carte'>
  10. <area shape='rect' coords='240,590,270,740' onclick='write_played(2, 6);' href='javascript:;' alt='Jouer cette carte'>
  11. <area shape='rect' coords='270,590,300,740' onclick='write_played(2, 5);' href='javascript:;' alt='Jouer cette carte'>
  12. <area shape='rect' coords='300,590,330,740' onclick='write_played(2, 4);' href='javascript:;' alt='Jouer cette carte'>
  13. <area shape='rect' coords='330,590,360,740' onclick='write_played(2, 3);' href='javascript:;' alt='Jouer cette carte'>
  14. <area shape='rect' coords='360,590,390,740' onclick='write_played(2, 2);' href='javascript:;' alt='Jouer cette carte'>
  15. <area shape='rect' coords='390,590,420,740' onclick='write_played(2, 1);' href='javascript:;' alt='Jouer cette carte'>
  16. <area shape='rect' coords='420,590,510,740' onclick='write_played(2, 0);' href='javascript:;' alt='Jouer cette carte'>
  17. </map>
  18. <spans>A vous</span>


 
Quelqu'un aurait-il une idée d'uù pourrait provenir ces freezes ?
Merci d'avance.


Message édité par momo194 le 28-07-2005 à 12:01:27
mood
Publicité
Posté le 28-07-2005 à 12:00:04  profilanswer
 

n°1162880
cesarr89
Posté le 28-07-2005 à 12:04:34  profilanswer
 

Et le fichier game.php il est où ?

n°1162888
momo194
Posté le 28-07-2005 à 12:07:02  profilanswer
 

Je crois pas qu'il soit substantiellement important, car il ne fait que générer du code HTML, toutefois si ça peut aider, je peux le mettre, mais il fait tout de même 460 lignes sommairement commentées.


Message édité par momo194 le 28-07-2005 à 12:07:29
n°1163931
momo194
Posté le 28-07-2005 à 21:07:45  profilanswer
 

Bonsoir,
 
Je suis maintenant sûr que c'est cette partie qui est en cause, quand je la mets en commentaires, tout le reste va bien; mais où est l'erreur ?
 

Code :
  1. elseif($player == 2 )
  2.   {
  3.   if(($tab_tirage_order[15] != "" ) AND (in_array($tab_tirage_order[15], $playable_cards))) echo "<area shape=\"rect\" coords=\"140,420,240,570\" onclick=\"write_played(2, 15);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  4.   else
  5.    {
  6.   if(($tab_tirage_order[14] != "" ) AND (in_array($tab_tirage_order[14], $playable_cards))) echo "<area shape=\"rect\" coords=\"140,400,240,550\" onclick=\"write_played(2, 14);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  7.   }
  8.   if(($tab_tirage_order[13] != "" ) AND (in_array($tab_tirage_order[13], $playable_cards))) echo "<area shape=\"rect\" coords=\"260,420,360,570\" onclick=\"write_played(2, 13);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  9.   else
  10.   {
  11.   if(($tab_tirage_order[12] != "" ) AND (in_array($tab_tirage_order[12], $playable_cards))) echo "<area shape=\"rect\" coords=\"260,400,360,550\" onclick=\"write_played(2, 12);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  12.   }
  13.   if(($tab_tirage_order[11] != "" ) AND (in_array($tab_tirage_order[11], $playable_cards))) echo "<area shape=\"rect\" coords=\"380,420,480,570\" onclick=\"write_played(2, 11);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  14.   else
  15.   {
  16.   if(($tab_tirage_order[10] != "" ) AND (in_array($tab_tirage_order[10], $playable_cards))) echo "<area shape=\"rect\" coords=\"380,400,480,550\" onclick=\"write_played(2, 10);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  17.   }
  18.   if(($tab_tirage_order[9] != "" ) AND (in_array($tab_tirage_order[9], $playable_cards))) echo "<area shape=\"rect\" coords=\"500,420,600,570\" onclick=\"write_played(2, 9);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  19.   else
  20.   {
  21.   if(($tab_tirage_order[8] != "" ) AND (in_array($tab_tirage_order[8], $playable_cards))) echo "<area shape=\"rect\" coords=\"500,400,600,550\" onclick=\"write_played(2, 8);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  22.   }
  23.  
  24.   if(($tab_tirage_order[7] != "" ) AND (in_array($tab_tirage_order[7], $playable_cards))) echo "<area shape=\"rect\" coords=\"210,590,".adjustmaparea(7, 210, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 7);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  25.   if(($tab_tirage_order[6] != "" ) AND (in_array($tab_tirage_order[6], $playable_cards))) echo "<area shape=\"rect\" coords=\"240,590,".adjustmaparea(6, 240, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 6);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  26.   if(($tab_tirage_order[5] != "" ) AND (in_array($tab_tirage_order[5], $playable_cards))) echo "<area shape=\"rect\" coords=\"270,590,".adjustmaparea(5, 270, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 5);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  27.   if(($tab_tirage_order[4] != "" ) AND (in_array($tab_tirage_order[4], $playable_cards))) echo "<area shape=\"rect\" coords=\"300,590,".adjustmaparea(4, 300, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 4);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  28.   if(($tab_tirage_order[3] != "" ) AND (in_array($tab_tirage_order[3], $playable_cards))) echo "<area shape=\"rect\" coords=\"330,590,".adjustmaparea(3, 330, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 3);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  29.   if(($tab_tirage_order[2] != "" ) AND (in_array($tab_tirage_order[2], $playable_cards))) echo "<area shape=\"rect\" coords=\"360,590,".adjustmaparea(2, 360, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 2);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  30.   if(($tab_tirage_order[1] != "" ) AND (in_array($tab_tirage_order[1], $playable_cards))) echo "<area shape=\"rect\" coords=\"390,590,".adjustmaparea(1, 390, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 1);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  31.   if(($tab_tirage_order[0] != "" ) AND (in_array($tab_tirage_order[0], $playable_cards))) echo "<area shape=\"rect\" coords=\"420,590,".adjustmaparea(0, 420, $tab_tirage_order, $player).",740\" onclick=\"write_played(2, 0);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  32.   }


 
Grand merci !

n°1163949
zapan666
Tout est relatif
Posté le 28-07-2005 à 21:31:04  profilanswer
 

Tu t'y retrouve dans ton code ?!? Tu peux pas remplacer ce gros pater par une boucle ? ça enleverais pas le problème mais au moins, ça piquerais moins les yeux...et donc du coup, ça serait peut être plus simple pour voir où est le problème


---------------
my flick r - Just Tab it !
n°1163968
gatsusat
Posté le 28-07-2005 à 21:41:42  profilanswer
 

on pourrait mettre ca dans une boucle mais ca demanderai un petit effort d'adaptation car il a certaines suites  de chiffres imbuvables qui ne passeraient po dans une boucle.
 
m'enfin, on voit tout de suite que cette jeune personne ne sais po optimiser son boulot

n°1164048
momo194
Posté le 28-07-2005 à 22:49:46  profilanswer
 

Bonsoir,
 
La boucle c'est infaisable, il y a trop de paramètres conjugués et pas vraiment de suite exploitable pour générer ce qu'il faudrait.
 
Quant à cette personne d'un certain âge, elle devrait savoir écrire:
 
1) Une phrase commence par une majuscule et se termine par un point.
2) Le conditionnel 3ème personne du singulier prend comme terminaison -raiS.
3) "ca" n'est pas un mot français, "ça" oui.
4) Erreur de construction "Il a", mais "Il y a".
5) "po" n'est pas un mot français, "pas" oui.  
6) Le présent 3ème personne du singulier prend comme terminaison -t.
 
De plus, si toi, personne mature était expérimentée, tu me dirais sûrement comment résoudre mon problème, je cherche des solutions concrètes, pas des critiques(sur mon code peut-être, mais pas sur mon jeune :d âge).


Message édité par momo194 le 28-07-2005 à 22:51:46
n°1164065
gatsusat
Posté le 28-07-2005 à 23:04:52  profilanswer
 

attend je corrige ca


Message édité par gatsusat le 28-07-2005 à 23:05:06
n°1164090
gatsusat
Posté le 28-07-2005 à 23:26:37  profilanswer
 

momo194 a écrit :

Bonsoir,

La boucle c'est infaisable, il y a trop de paramètres conjugués et pas vraiment de suite exploitable pour générer ce qu'il faudrait.

 
[..]Blablabla[..]


 
bah ta boucle elle est faisable tu vois. Tes paramètres je me les mets au cul dans un tableau et hop je splitte mon tableau et pouf je recupère mes paramètres et les mets là ou il faut.
 
et donc le premier groupe de coordonnées correspond à ton truc de 0 et le dernier au 15.
 

Code :
  1. $array1 = array("420,590,420,740","390,590,390,740",.....,"140,420,240,570" );
  2.   for($i=15; $i>=0; $i--){
  3.  
  4.   if(($tab_tirage_order[$i] != "" ) AND (in_array($tab_tirage_order[$i], $playable_cards)))
  5.     {
  6.  list($Coord1,$Coord2,$Coord3,$Coord4) = split(",",$array1[i]);
  7.  echo "<area shape=\"rect\" coords=\"";
  8.  echo $Coord1.",".$Coord2.",";
  9.  if (i<=7) {
  10.  echo adjustmaparea($i, $Coord3, $tab_tirage_order, $player).",".$Coord4,
  11.  }
  12.  else {
  13.  echo $Coord3.",".$Coord4;
  14.  }
  15.  echo "\" onclick=\"write_played(2, $i);\" href=\"javascript:;\" alt=\"Jouer cette carte\">";
  16.  }
  17.   }


Message édité par gatsusat le 28-07-2005 à 23:32:06
n°1164091
skyh_ead
Posté le 28-07-2005 à 23:26:39  profilanswer
 

momo194 a écrit :


Quant à cette personne d'un certain âge, elle devrait savoir écrire:
 
1) Une phrase commence par une majuscule et se termine par un point.
2) Le conditionnel 3ème personne du singulier prend comme terminaison -raiS.
3) "ca" n'est pas un mot français, "ça" oui.
4) Erreur de construction "Il a", mais "Il y a".
5) "po" n'est pas un mot français, "pas" oui.  
6) Le présent 3ème personne du singulier prend comme terminaison -t.


Eh mais t'es un blagueur toi  :whistle:  
Sans blague çà te sert à quoi ? En plus t'es assez mal placé pour dire çà, tu n'ecris pas mieux et à la base c'est toi qui poses une question donc c'est pas à toi de te plaindre je crois  [:spamafote] , si un dévelloppeur te dit qu'il y a nécéssité d'optimiser ton code, bah demandes plutôt quelle voie prendre que de te plaindre  [:spamafote]

mood
Publicité
Posté le 28-07-2005 à 23:26:39  profilanswer
 

n°1164113
momo194
Posté le 28-07-2005 à 23:42:06  profilanswer
 

ok, merci pour le bout de code, ça marche bien, mais ça me retourne la même chose.
Mon problème est est toujours là, cependant j'ai remarqué, que si je laissais du temps(~10 secondes) avant de cliquer sur les zones cliquables, ça ne me faisait pas le problème.
 
N'y aurait-il pas un un buffer(javascript ou PHP) quelconque à vider ?
 
Merci

n°1164141
zapan666
Tout est relatif
Posté le 28-07-2005 à 23:58:22  profilanswer
 

momo194 a écrit :

ok, merci pour le bout de code, ça marche bien, mais ça me retourne la même chose.
Mon problème est est toujours là, cependant j'ai remarqué, que si je laissais du temps(~10 secondes) avant de cliquer sur les zones cliquables, ça ne me faisait pas le problème.
 
N'y aurait-il pas un un buffer(javascript ou PHP) quelconque à vider ?
 
Merci


Les <area> sont vraiment nécessaire ? car si c'est pour représenter une carte carré, un simple lien en display: block suffit.
http://forum.hardware.fr/hardwaref [...] 4743-1.htm
 
 
Peut être que IE crash car tu lui envoie trop de code, ou du code plus ou moins imbuvable, c'est possible ? (j'en sais rien, hein..)  
Verifie bien que quand tu interoge ta page php via l'obj xmlhttprequest, tu es bien en assynchrone.
 
Et fait des recherches sur crash + xmlhttprequest, peu^t être que c'est un bug connue  


---------------
my flick r - Just Tab it !
n°1164159
gatsusat
Posté le 29-07-2005 à 00:19:03  profilanswer
 

ton writeplayed !!!! Est-ce qu'il fait un return false quand tu clique dessus ???
 
sinon autant directement faire un href="Javascript:Writeplayed(2,12)"

n°1164160
gatsusat
Posté le 29-07-2005 à 00:20:05  profilanswer
 

tu dois avoir du javascript kipuducu quelque part pour ton PB dutemps à attendre ^pour cliquer

n°1164344
momo194
Posté le 29-07-2005 à 10:16:16  profilanswer
 

Ok, merci, j'ai tenté la technique de gastusat, mais le résultat est le même.
Je tente maitenant la technique de zapan666, mais mon image d'arrière plan clignote(elle se refresh toutes les 3 secondes), avec une image de premeir plan ça ne me le faisait pas.
 
D'où peut provenir ce problème ?
 
Merci.

n°1164390
gatsusat
Posté le 29-07-2005 à 10:48:29  profilanswer
 

ben ton problème est du à une mauvaise conception  
reprend ton script depuis le depuis. et aprend le web d'abord


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  HTTPRequest : Internet Explorer gèle

 

Sujets relatifs
Base access 2000 à mettre sur Internet avec aspdemande d'aide pour un site internet
pocket pc 2003-JScript - ActiveX- Pocket Internet ExplorerLes accents et Struts + Return et Explorer
Javascript : bug Internet Explorer avec les pop-ups ?Problème de mise en page sous Internet Explorer
Compatibilité entre Internet Explorer et les autres navigateurs... 
Plus de sujets relatifs à : HTTPRequest : Internet Explorer gèle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR