Ich verwende JavaScript mit der jQuery-Bibliothek, um Bildminiaturen zu bearbeiten, die in einer ungeordneten Liste enthalten sind. Wenn das Bild geladen wird, macht es eine Sache, wenn ein Fehler auftritt, macht es etwas anderes. Ich verwende jQuery load()
und error()
Methoden als Ereignisse. Nach diesen Ereignissen überprüfe ich das Image-DOM-Element auf .complete, um sicherzustellen, dass das Image noch nicht geladen wurde, bevor jQuery die Ereignisse registrieren konnte.
Es funktioniert ordnungsgemäß, außer wenn ein Fehler auftritt, bevor jQuery die Ereignisse registrieren kann. Die einzige Lösung, die ich mir vorstellen kann, besteht darin, das img- onerror
Attribut zu verwenden, um irgendwo global (oder auf dem Knoten selbst) ein "Flag" zu speichern, das besagt, dass es fehlgeschlagen ist, damit jQuery dieses "store / node" überprüfen kann, wenn .complete überprüft wird.
Hat jemand eine bessere Lösung?
Bearbeiten: Fettgedruckte Hauptpunkte und zusätzliche Details unten: Ich überprüfe, ob ein Bild vollständig ist (auch bekannt als geladen), nachdem ich dem Bild ein Lade- und Fehlerereignis hinzugefügt habe. Auf diese Weise weiß ich immer noch , ob das Bild vor der Registrierung der Ereignisse geladen wurde. Wenn das Bild nach den Ereignissen nicht geladen wird, kümmern sich die Ereignisse darum, wenn dies der Fall ist. Das Problem dabei ist, dass ich leicht überprüfen kann, ob ein Bild bereits geladen ist, aber nicht feststellen kann, ob stattdessen ein Fehler aufgetreten ist.