Le fait de déterminer si une image a été chargée de manière fiable semble être l'un des grands mystères JavaScript. J'ai essayé divers scripts/bibliothèques de scripts qui vérifient les événements onload et onerror mais j'ai eu des résultats mitigés et peu fiables. Puis-je vérifier de manière fiable la propriété complète (IE 6-8 et Firefox) comme je l'ai fait dans le script ci-dessous? J'ai simplement une page qui répertorie les serveurs et je crée un lien vers un on.gif sur chaque serveur. Si elle ne charge pas, je veux juste charger un off.gif à la place. Ceci est juste pour un usage interne ... J'ai juste besoin d'être fiable pour montrer le statut !!!Vérification du chargement des images après le chargement de la page
<script type="text/javascript">
var allimgs = document.getElementsByTagName('img');
function checkImages(){
for (i = 0; i < allimgs.length; i++){
var result = Math.random();
allimgs[i].src = allimgs[i].src + '?' + result;
}
serverDown();
setInterval('serverDown()',5000);
}
window.onload=checkImages;
function serverDown(){
for (i = 0; i < allimgs.length; i++){
var imgholder=new Image();
imgholder.src=allimgs[i].src;
if(!allimgs[i].complete){
allimgs[i].src='off.gif';
}
}
}
</script>
J'ai essayé plusieurs solutions Jquery. Ils ont tous chargé le on.gif quand il n'existait même pas sur le serveur ... J'assume une sorte de cache de précharge. Je ne veux pas non plus devoir mettre l'attribut onload obsolète sur l'image. – johkar