J'ai une page qui affiche un listing avec photos. Lorsque cette photo est manquante je fait exécuter un script asp par ajax qui me produit cette photo et me renvois l'url. Cela fonctionne tres bien lorsque j'ai 1 photo erreur mais, des que j'en ai plusieurs. Seulement 1 photos ce rafraichit.
Voici mon code javascript
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
| // JavaScript Document
var iNbImageError = 0;
//Fonction pour applez la page de la construction de la photo
//Retourne l'url de la photo
function imageError(objImage, strPrefix, strInscription, strNumero) {
iNbImageError = iNbImageError + 1;
if(iNbImageError < 100)
{
objxhr = getXMLHTTP();
objxhr.onreadystatechange=function() { changeimage(objxhr,objImage); }
objxhr.open("GET","../script/getImage.asp?strPrefix="+strPrefix+"&strInscription="+strInscription+"&strNumero="+strNumero,true);
objxhr.send(null);
}
else
{
objImage.src ="http://www.listingimmo.com/photos/erreur.jpg";
}
}
//Change la source de la photo des qu'elle est recu
function changeimage(objxhr, objImage)
{
if(objxhr.readyState==4)
{
objImage.src = objxhr.responseText;
}
}
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
{ // XMLHttpRequest non supporté par le navigateur
//alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
}
return xhr;
} |
Et voici ma ligne d'appel
<img src="http://www.listingimmo.com/photos/small8186058-1.jpg" width="215" height="161" alt="Terrain vacant à vendre à Chertsey, Qc" onerror="imageError(this,'small','8186058','1')" onabort="imageError(this,'small','8186058','1')" />
Pour préciser. Dans la console firebug je vois que toute les requettes sont très bien exécute avec les bonne réponses.
Merci de votre aide
Si vous voulez voir la page : http://www.listingimmo.com/fr/Liste-...s-a-vendre.asp
Partager