[AJAX] Script correct ou trop lourd ?
Bonjour à tous,
Alors voilà j'ai fait un petit script en Ajax me permettant d'afficher les dernières quotes présentes dans une base de données.
Cela fonctionne mais n'étant pas très calé en la matière, je me permet de vous le soumettre pour que vous puissiez me dire si je me complique la vie ou pas, si c'est la bonne méthode à adopter et enfin si celle-ci n'est pas trop lourde.
Autre chose, j'aimerais si possible afficher chargement... pendant la breve attente de l'affichage...
Voici mon code :
Code:
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
|
// Customise those settings
var seconds = 5;
var divid = "quotes";
var url = "http://www.holding-paragon.com/wecitizens/quotes.php";
////////////////////////////////
//
// Refreshing the DIV
//
////////////////////////////////
function showQuotes(){
// The XMLHttpRequest object
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Your browser does not support AJAX.");
return false;
}
}
}
// Timestamp for preventing IE caching the GET request
fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}
var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;
// The code...
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
var lastQuotes = document.getElementById(divid);
lastQuotes.innerHTML = xmlHttp.responseText;
setTimeout("showQuotes()",5000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}
// Start the refreshing process
var currentQuote = setTimeout(showQuotes,5000); |
Vous pouvez voir ce que ca donne pour le moment sur ce site en haut a droite, pour moi le delai d'affichage est trop long :/
Lien
Un tout grand merci !