Im Handler meiner Webseite versuche ich zu überprüfen, ob alle Bilder korrekt geladen wurden.Wie überprüft man, ob Bilder mit Javascript geladen wurden?
Ich bin über alle Tags und überprüfen Sie sie mit meiner isImageLoaded()
Funktion. Leider funktioniert meine Funktion nur mit Firefox und IE bis Version 8.
Irgendwelche Vorschläge, wie ich es in IE 9 und 10 arbeiten kann?
function isImageLoaded(img) {
// check for IE
if (!img.complete) {
return false;
}
// check for Firefox
if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
return false;
}
// assume it's ok
return true;
}
Update: Es stellt sich die Hauptschuld, ist, dass OnLoad abgefeuert werden können, bevor alle Bild von IE9 + geladen werden. Was wäre ein besserer Auslöser, um die Bilder auf der Seite zu überprüfen? Ich würde es vorziehen, sie alle auf einmal und nicht mit einzelnen OnLoad/OnError-Handlern zu überprüfen.
Dank sdespont! Ich versuche zu vermeiden, eine Bibliothek zu verwenden, um die Seitengröße niedrig zu halten. –
Haben Sie versucht, einfach für jedes Bild einen 'Onload'-Ereignishandler hinzuzufügen und zu zählen, wie oft sie ausgelöst werden? –
Ich verwende derzeit den OnLoad-Handler der Seite. Ich nehme an das wird nur einmal angerufen. Glaubst du, IE 9 + 10 nennen es, bevor die Bilder voll geladen sind? –