Problem programation

marc712 -  
 Alain42 -
Avec mon code:

<script type='text/JavaScript'>
var xhr = null;
function getXhr()
{
if(window.XMLHttpRequest)xhr = new XMLHttpRequest();
else if(window.ActiveXObject)
{
try{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
}

function ShowPage(page)
{
getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
document.getElementById('page').innerHTML= xhr.responseText;
}
}
xhr.open("GET","ajax.php?page="+page,true);
xhr.send(null);
}

</script>

Comment pourrais-je bloquer "xhr.open("GET"," ajax.php?page="+page,true);"
lorsqu'un visiteur clique 50 fois de suite en 1 seconde le meme lien.
Car le script qu'appelle ajax.php est validé plusieurs fois...
J'ai pensé avec les cookies mais c'est trop rapide pour pouvoir les utiliser.

1 réponse

Alain42
 
Une piste:

Tu défini une variable globale go = 0

sur ton onClick tu appelles une fct intermédiaire qui vérifie que go==0
si oui :
elle incrémente go de 1 et elle lance getXhr() et une autre fonction timer qui remets cette variable à 0 pour permettre d'autres click après

sinon rien
0