[AJAX] Ne fonctionne pas sous IE ...

Ne fonctionne pas sous IE ... [AJAX] - HTML/CSS - Programmation

Marsh Posté le 10-02-2010 à 16:40:07    

Salut à tous.
Le script que j'essaye de mettre en place sert à un jeu concours.
Le joueur choisi un lot et ensuite il peut voir un compteur associé evoluer en temps réel.
Le tout fonctionne sous FF.

 

Probleme: ne marche pas sous IE 7;  :(

 

Je vous montre le code:

 
Citation :

<script type="text/javascript">
 
 
function writediv(texte)
{
document.getElementById('box').innerHTML = texte;
}
 
 
function verifCompteur()
{
 var lot = '<?php echo $_GET['lot']; ?>'; // Si on part du principe qu'on a testé avant si elle existe bien
 texte = file('/extra-compteur.php?lot=' + lot );
 writediv('<span style="color:#1A7917"><b>' + texte +' :</b></span>')
}
 
 
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
 
function refresh()//script javascript qui va appeler le fonction toutes les secondes
{
  verifCompteur();
  setTimeout(refresh, 1000);
}
</script>
</head>
 
<body onload = "refresh();">
 
<div id="box"></div>

 

Merci d'avance


Message édité par yopopipo le 10-02-2010 à 16:40:45
Reply

Marsh Posté le 10-02-2010 à 16:40:07   

Reply

Marsh Posté le 10-02-2010 à 16:59:33    

Question conne, tu as pensé à vérifier que tu as autorisé l'exécution d'Active X sur Internet Explorer ? (Outil -> Option Internet -> Sécurité)

Reply

Marsh Posté le 10-02-2010 à 17:07:40    

Je viens de le faire, en mettant la securité au minimum, mais rien y fait.

Reply

Marsh Posté le 11-02-2010 à 15:53:04    

CJ'ai trouvé!  
C'etait du au cache, voila ma fonction qui fonctionne:
 
function file(fichier)
{
   xhr_object = getXMLHTTP();
   xhr_object.open("GET", fichier + "&nocache=" + Math.random(), false);
   xhr_object.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   xhr_object.send(null);
   if(xhr_object.readyState == 4) return(xhr_object.responseText);
}
 
 
C'est donc le parametre nocache qui permet ca.
 
Je vidais pourtant le cache grace aux header php mais ce n'etait pas suffisant apparemment!

Reply

Sujets relatifs:

Leave a Replay

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