Bonjour,
Je me suis décidé à créé un petit chat pour mon site et j'ai trouvé sur le net l'objet du DOM XMLHttpRequest qui permet de mettre à jour uniquement les messages du chat. Mon script fonction comme je le veux sous Firefox : lorsqu'on clique sur un lien "actualiser" le contenu d'un div d'id "msg" est mis à jour depuis une page php qui récupère les messages entrés. Voici la fonction js le permettant :
Les premières lignes servent à faire la distinction entre IE et les autres navigateurs. Le problème sur IE, c'est qu'au premier affichage la page chat_messages.php se charge, mais ensuite plus aucun moyen d'actualiser le contenu du div "msg" (même en appuyant sur F5). Il faut en fait aller à l'url de la page chat_messages.php, appuyer sur F5 et retourner sur la page du chat pour récupérer les nouveaux messages. Je suppose que tout ceci est un problème de cache, mais je n'y connais absolument rien et je ne comprend pas non plus pourquoi Firefox et IE ne gère pas la chose de la même façon.
Ce serait vraiment chouette si quelqu'un pouvait m'apporter quelques explications et conseils
Modifié par jumpy (13 Jan 2006 - 23:06)
Je me suis décidé à créé un petit chat pour mon site et j'ai trouvé sur le net l'objet du DOM XMLHttpRequest qui permet de mettre à jour uniquement les messages du chat. Mon script fonction comme je le veux sous Firefox : lorsqu'on clique sur un lien "actualiser" le contenu d'un div d'id "msg" est mis à jour depuis une page php qui récupère les messages entrés. Voici la fonction js le permettant :
function maj()
{
req = false;
if(window.XMLHttpRequest)
{
var req = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
try
{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
req = false;
}
}
}
var msg = document.getElementById("msg");
req.open("GET", "chat_messages.php", true);
req.onreadystatechange = function()
{
if (req.readyState == 4 && req.status == 200)
msg.innerHTML = req.responseText;
}
req.send(null);
}
Les premières lignes servent à faire la distinction entre IE et les autres navigateurs. Le problème sur IE, c'est qu'au premier affichage la page chat_messages.php se charge, mais ensuite plus aucun moyen d'actualiser le contenu du div "msg" (même en appuyant sur F5). Il faut en fait aller à l'url de la page chat_messages.php, appuyer sur F5 et retourner sur la page du chat pour récupérer les nouveaux messages. Je suppose que tout ceci est un problème de cache, mais je n'y connais absolument rien et je ne comprend pas non plus pourquoi Firefox et IE ne gère pas la chose de la même façon.
Ce serait vraiment chouette si quelqu'un pouvait m'apporter quelques explications et conseils

Modifié par jumpy (13 Jan 2006 - 23:06)