Optimiser AJAX actualisé toute les 1500ms et bug sous IE
Posté : 17 août 2008, 00:41
Bonsoir !
Alors, je vais vous parler du premier problème (peut-être pas, c'est surtout une question
)
J'ai une petite application qui demande à être actualisée toute les 1500ms et à chaque fois que j'appelle la fonction, il reconstruit l'objet AJAX, il me semble avoir entendu que l'on ai pas obligé de le reconstruire à chaque fois... histoire de gagner de la légèreté chez le client
Voilà le code :
Et dans mon onload HTML j'ai :
Voilà, je vois pas trop comment procédé pour faire cette petite optimisation si c'est possible 
Après, le deuxième problème est avec IE (bah oui, évidement :/ )
C'est que ce navigateur charge une fois l'objet AJAX, en fait, il ignore le setInterval()...
Je sais pas si ça a un rapport avec ma première question mais bon...
Et aussi, le pire, c'est quand on recharge la page, il garde quand même les résultats de la requête d'avant... obligé de vider le cache pour qu'il refasse la requête
Savez-vous d'où cela peut venir ?
Merci d'avance de vos indications
Alors, je vais vous parler du premier problème (peut-être pas, c'est surtout une question
J'ai une petite application qui demande à être actualisée toute les 1500ms et à chaque fois que j'appelle la fonction, il reconstruit l'objet AJAX, il me semble avoir entendu que l'on ai pas obligé de le reconstruire à chaque fois... histoire de gagner de la légèreté chez le client
Voilà le code :
Code : Tout sélectionner
function refresh_div(lang){
var fichier = '../main.php?lang=' + lang;
var xhr_object = null;
try {
xhr_object = new XMLHttpRequest();
}
catch (microsoft){
try {
xhr_object = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(autremicrosoft){
try {
xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(echec){
xhr_object = null;
}
}
}
if(xhr_object == null){
alert('Your browser cannot create XMLHttpRequest object.\nPlease Update It !');
}
xhr_object.open('GET', fichier, true);
xhr_object.onreadystatechange = function(){
if (xhr_object.readyState == 4 && xhr_object.status == 200) {
document.getElementById('refresh_zone').innerHTML = xhr_object.responseText;
}
}
xhr_object.send(null);
}Code : Tout sélectionner
onload="refresh_div('fr');setInterval('refresh_div(\'fr'\')',1500);"Après, le deuxième problème est avec IE (bah oui, évidement :/ )
C'est que ce navigateur charge une fois l'objet AJAX, en fait, il ignore le setInterval()...
Je sais pas si ça a un rapport avec ma première question mais bon...
Et aussi, le pire, c'est quand on recharge la page, il garde quand même les résultats de la requête d'avant... obligé de vider le cache pour qu'il refasse la requête
Savez-vous d'où cela peut venir ?
Merci d'avance de vos indications