Christine Kuehnel: Ladestatus von Bildern

Beitrag lesen

Hallo,

gleich mal vorab, ich habe nicht alles genau angesehen, ist ganz schoen lang.

Ach ja, wie bekomme ich es im IE 3.0 zum laufen? Der kennt das
images Objekt scheinbar nicht!

Nicht nur scheinbar. Er kennt es nicht.
Den musst Du ausschliessen, keine andere Chance, also
if (document.images)
{
// der ganze Image-Kram
}

if(document.images[i].complete == true)
//wenn dies bei einem der Bilder der Fall ist, so sollte sich Status ums eins erhoehen.
// HIER LIEGT DAS PROBLEM: Obwohl das Bild fertig geladen sein sollte, wird FALSE zurueckgegeben.

Was benutzt Du fuer einen Browser?
complete ist schoen und gut, funktioniert aber nicht mit allen Browsern.
Konkret weiss ich das vom Navi4.03 bei animierten GIFs, "true" tritt nie ein.
Ich mache das so, dass ich die Abfragerei nach gewisser Zeit abbreche.
Ergebnis:
(1) Browser, die mit complete umgehen koennen, melden "fertig", es kann weitergehen
(2) Browser, die das nicht koennen, brechen eben nach der angegebenen Zeit ab, haben aber auch geladen.
Was kann passieren?
Verbindung ist extrem langsam, Abbruch tritt auch bei Browsern aus (1) ein.
Tragisch?
In der Regel nicht. Solche Funktionen werden normal benutzt, um Bilder vorzuladen, damit sie also im Cache sind, wenn sie wirklich gebraucht werden.
In dem genannten Fall sind sie das evtl. dann nicht, oder nicht alle. Das verlangsamt u.U. die eigentliche Aktion etwas, bringt aber keine Fehler und sonst keine Einschraenkungen.

Alternative (nie probiert, weil nicht bisher nicht gebraucht):
Verwende onload fuer die Image-Objekte. Das sollte ab Navi3 eigentlich klappen, es sei denn, es handelt sich um animierte GIFs. Bei denen bist Du auf complete angewiesen.

Christine