Depannage PC Boutique Forum
informatique

compatibilité ajax/ie

Aide informatiqueAssistance informatique gratuite Aide informatique
informatique

#1   

mitmit

compatibilité ajax/ie

bonjour

j'ai un problème avec un script ajax utilisé sur la page d'accueil du site generationsfm.com
ce script lit des données dans un fichier xml puis les affiche dans un <div> :

Code:

<script language="JavaScript" type="text/javascript">

function getXhr() {
var req = null;

//firefox
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
}

//ie
else if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}

//non supporté
else {
alert("Fonction non supportée par le navigateur");
req = false;
}

return (req);
}

function getTrack()
{
var req = getXhr();

req.onreadystatechange = function() {

if (req.readyState == 4 && req.status == 200) {
var resultat = req.responseText;
document.getElementById('div_track').innerHTML=resultat;
}

};

req.open("GET","http://generationsfm.com/ajax_track.php?act=track",true);
req.send(null);
setTimeout("getTrack()", 5000);
}

getTrack();
</script>

le fichier appelé est le suivant :

Code:

<?
switch ($_GET['act'])
{
case "track":

$html = simplexml_load_file('http://generationsfm.com/sms/Titres.xml');
foreach($html->WhatsOn as $WhatsOn) {
$titre = $WhatsOn->Titre;
$artiste = $WhatsOn->Chanteur;
}

echo $titre." - ".$artiste;
break;
}
?>

seulement voilà, sous firefox tout marche très bien, mais sous ie l'affichage n'est jamais mis à jour, même en rafraichissant la page ou en vidant le cache...
le seul moyen est de fermer complètement le navigateur et de le relancer :cry:

quelqu'un saurait-il d'où ça pourrait venir ?

merci ^^



  


#2   

Guest

Re: compatibilité ajax/ie

J'ai eu le meme probleme que toi:
il semble que avec internet explorer un objet = un appel, donc je le reinitialise a la fin de l'appel.


if (req.readyState == 4 && req.status == 200) {
          var resultat = req.responseText;
          document.getElementById('div_track').innerHTML=resultat;
           //si j'utilise ie je reinitialise l'objet
           if (window.ActiveXObject) {
             req = new ActiveXObject('Microsoft.XMLHTTP');
            }
}



  


Réponse rapide

forum Répondez et participez librement forum
Services informatiques Merci d'écrire un méssage de plus de 10 mots en français correct.

Top recherche sur le forum d'aide

Pied de page des forums

informatique
Forum : Réseau - Sécurité - Materiel
Php - Référencement - Serveurs - Divers
Windows - Internet - Logiciels - Communication
SARL Brakstar - siret : 48501380900010 RCS
9 allée du colonel Koch. 91250 Saintry sur Seine
Tel : 01.69.89.99.57 - Mail : societe@brakstar.com
Brakstar.com par Jeremy Gautier