1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
// JavaScript Document
window.onload=testerNavigateur;
//-----------------------------
function testerNavigateur() {
objetXHR = creationXHR();
if(objetXHR==null) {
document.getElementById("button").disabled= true;
var erreurNavigateur="Erreur Navigateur : Création d'objet XHR impossible";
remplacerContenu("info", erreurNavigateur);
document.getElementById("info").style.visibility="visible";
return null
}
//démarrage de l'affichage automatique du cumul des gains
cumul();
}
//###########################MOTEUR AJAX N°1 (requête du gain aléatoire)
function jouer() {
//verif si nom du joueur est bien saisi
document.getElementById("nom").style.backgroundColor="white";//init couleur champ
var nom=document.getElementById("nom").value;
if(nom==""){
//-------------change la couleur du champ
document.getElementById("nom").style.backgroundColor="red";
//-----------affiche message Alert
alert("Attention : vous devez saisir votre nom avant de jouer");
return null;
}
//création d'un objet XHR multi-navigateurs
objetXHR = creationXHR();
var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
//construction de la chaine des parametres
var parametres = "nom="+ codeContenu("nom") +
"&anticache="+temps ;
//Config. objet XHR
objetXHR.open("get","gainAleatoire.php?"+parametres, true);
objetXHR.onreadystatechange = actualiserPage;//désignation de la fonction de rappel
//gestion du bouton et du chargeur
document.getElementById("button").disabled= true;
document.getElementById("charge").style.visibility="visible";
objetXHR.send(null);//envoi de la requete
/*---------------------------------------- */
}
function actualiserPage() {
if (objetXHR.readyState == 4) {//test si le résultat est disponible
if (objetXHR.status == 200) {
var nouveauResultat = objetXHR.responseText.split(":");//recup du résulat > tableau
//actualisation du résultat
remplacerContenu("resultat", decodeURI(nouveauResultat[1]));
//actualisation du nom
remplacerContenu("gagnant", decodeURI(nouveauResultat[0]));
//affiche la zone info
document.getElementById("info").style.visibility="visible";
//gestion du bouton et du chargeur
document.getElementById("button").disabled= false;
document.getElementById("charge").style.visibility="hidden";
}else{
//message d'erreur serveur
var erreurServeur="Erreur serveur : "+objetXHR.status+" "+ objetXHR.statusText;
remplacerContenu("info", erreurServeur);
document.getElementById("info").style.visibility="visible";
//gestion du bouton et du chargeur
document.getElementById("button").disabled= false;
document.getElementById("charge").style.visibility="hidden";
//annule la requete en cours
objetXHR.abort();
objetXHR=null;
}
}
}
//###########################MOTEUR AJAX N°2 (actualisation du cumul des gains)
function cumul() {
objetXHR2 = creationXHR();//création d'une requete uniquement pour FireFox
var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
var parametres = "nom="+ codeContenu("nom") +
"&anticache="+temps ;
objetXHR2.open("get","gainCumul.php?"+parametres, true); //Config. requete GET
objetXHR2.onreadystatechange = actualiserCumul;//désignation de la fonction de rappel
document.getElementById("charge2").style.visibility="visible";
objetXHR2.send(null);//envoi de la requete
//---------------------------------------
setTimeout("cumul()",6000);//timer de 6 s
}
function actualiserCumul() {
if (objetXHR2.readyState == 4) {//test si le résultat est disponible
if (objetXHR2.status == 200) {
var cumulGain = objetXHR2.responseText;//recup du résulat renvoyé par le serveur
remplacerContenu("cumul", cumulGain);
document.getElementById("charge2").style.visibility="hidden";
}
}
} |
Partager