Bonjour à tous,
Cela fait plusieurs semaine que je cherche à résoudre mon problème.
Actuellement le code js de la page text.php, permet de rafraichir toute les 2 secondes, la page test2.php dans une div. Jusque la rien de compliqué. Ce que je cherche à faire, c'est de recharger toute les 2 secondes la page test2.php dans le div, uniquement si test2.php à été modifié (si le echo est différent par exemple).
Histoire de ne pas utiliser inutilement de la ressource en permanence.
Page test2.php avec un echo :
Page test.php avec le js et la div qui affiche test2.php
Merci à tous ceux qui pourront m'aider.
Modifié par sff (11 Oct 2008 - 16:11)
Cela fait plusieurs semaine que je cherche à résoudre mon problème.
Actuellement le code js de la page text.php, permet de rafraichir toute les 2 secondes, la page test2.php dans une div. Jusque la rien de compliqué. Ce que je cherche à faire, c'est de recharger toute les 2 secondes la page test2.php dans le div, uniquement si test2.php à été modifié (si le echo est différent par exemple).
Histoire de ne pas utiliser inutilement de la ressource en permanence.
Page test2.php avec un echo :
<?php
echo 'texte';
?>
Page test.php avec le js et la div qui affiche test2.php
<html>
<script type="text/javascript">
// Fonction pour Ajax
function getXMLHTTP()
{
var xhr=null;
if (window.XMLHttpRequest) // Firefox et autres.
xhr = new XMLHttpRequest();
else if (window.ActiveXObject) // Internet Explorer.
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1)
{
xhr = null;
}
}
}
else
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return xhr;
}
// Div refresh.
function getDiv1(MyDiv, MyUrl) {
var xmlhttp1 = null;
var mondiv1 = document.getElementById(MyDiv);
if (!mondiv1) {
return 1;
}
if (xmlhttp1 && xmlhttp1.readyState != 0) {
xmlhttp1.abort();
}
xmlhttp1 = getXMLHTTP();
if (xmlhttp1) {
xmlhttp1.open("GET", MyUrl, true);
/* on définit ce qui doit se passer quand la page répondra */
xmlhttp1.onreadystatechange = function() {
if (xmlhttp1.readyState == 4 && xmlhttp1.responseText != '') /* 4 : état "complete" */ {
mondiv1.innerHTML = xmlhttp1.responseText;
}
}
xmlhttp1.send(null);
}
}
function rafraichir()
{
getDiv1('test2', 'test2.php');
setTimeout("rafraichir()", 2000);
}
window.onload = function() { rafraichir();}
</script>
</script>
<body>
<DIV ID="test2">
</div>
</body> </html>
Merci à tous ceux qui pourront m'aider.
Modifié par sff (11 Oct 2008 - 16:11)