Hi,
Nein, nicht ganz. Der Eventhandler onerror eines Bildobjekts wird aufgerufen, wenn das Laden eines Bildes fehlschlägt. Allerdings muss die Handlerfunktion dann schon zugewiesen sein, wenn der Browser versucht, das Bild zu laden.
-> Was heisst schon zugewiesen sein? Wie weise ich das zu?
genau so, wie du es schon formuliert hast.
$(window).load(function() {
existImg();
} );function existImg(){
var allElems = document.getElementsByTagName('img');
for (var i = 0; i < allElems.length; i++) {
var thisElem = allElems[i];
if (thisElem){thisElem.onerror = function () { alert(this.src); } }
}
So ist das sinnlos. Erst beim onload-Event des Dokuments[1] bindest du die Eventhandler an deine img-Objekte. Zu diesem Zeitpunkt ist das Laden des Dokuments \*einschließlich aller Bilder\* aber per definitionem schon erfolgreich abgeschlossen oder mit Fehler abgebrochen. Ein onerror-Handler, der einem Bild danach noch zugewiesen wird, bleibt wirkungslos, denn das Ereignis ist ja schon lange vorher eingetreten.
Das Setzen des onerror-Handlers darf also nicht erst nach dem Laden des Dokuments erfolgen, sondern schon währenddessen.
Ciao,
Martin
[1] wenn ich die JQuery-Syntax richtig verstehe
--
Die letzten Worte der Challenger-Crew:
Lasst doch mal die Frau ans Steuer!