Ralph: merkwürdige Bilder-Ladeart von IE und NS!

Hallo

Der Internet Explorer und Netscape Navigator 4.72 haben
beide eine sehr sehr merkwürdige ladeart von Bildern.
vielleicht irgendwie asynchron ??

Auf jeden fall folgendes:
wenn ich 3 Bilder bild1 bild2 bild3 lade und dies mit
onload kontroliere passiert folgendes:

Die 3 Bilder werden Rückwärts geladen(IE)
und mehrmals geladen(IE +NS)
sehr komisch manchmal in der mitte(IE)
wenn kontrolle vorliegt manchmal gar nicht(NS)

hier das merkwürdige script

<img name="bild1" src="a.gif" onload="alert('Bild1');
<img name="bild2" src="b.gif" onload="alert('Bild2');
<img name="bild3" src="c.gif" onload="alert('Bild3');

ist ja schon komisch oder ist da sonst was faul...?

Bei Opera 3.62 ist alles wie man es erwartet:
Ausgabe:
Meldungen: Bild1 Bild2  Bild3
Bilder: a.gif b.gif c.gif

Bin weder Opera noch Ie noch NS Fan, hauptsache es
ist CrossOveÜberallEinsetzbar

Gruss Ralph

  1. Hi,
    vielleicht hängt das mit der größe der bilder zusammen ??
    also, dass das kleinste (kb-größe) als erstes geladen wird usw. .
    mich hat das auch schon manchmal gewundert aber ich hab nie drüber nachgedacht.
    naja, wer weiß.

    Viel Spaß noch

    ff

  2. Hi Ralph,

    Der Internet Explorer und Netscape Navigator 4.72 haben
    beide eine sehr sehr merkwürdige ladeart von Bildern.
    vielleicht irgendwie asynchron ??

    So könnte man es sagen. Beide senden eine Anforderung für die Bilddatei an den Server, sobald die Graphik im HTML-Quältext referenziert wird. Empfangen werden die Daten aber grundsätzlich in der Reihenfolge, wie sie der Server hergibt. Vor allem bei Dateien mit sehr unterschiedlicher Größe fällt das auf. Dann kann eine kleine Graphik am Seitenende schon längst da sein, während ein großes Bild am Anfang immer noch lädt.

    Die ONLOAD-Anweisungen werden dann ausgeführt, wenn das Bild komplett geladen ist - zum Timing siehe einige Sätze weiter oben.

    Bei Opera 3.62 ist alles wie man es erwartet:

    Hmm, scheinbar wartet der also brav, bis das Bild da ist und macht dann erst im Quältext weiter...

    Ich würde mir also über solche Merkwürdigkeiten keine Gedanken machen - es sei denn, die Ladereihenfolge ist für Dein Projekt entscheidend. Dann solltest Du Dir allerdings einen anderen Weg überlegen.

    Gruß,

    Martin

    1. Hallo

      Danke für deine Antwort...
      Logisch die Meldungen kommen durcheinander, wenn die
      Bildgrösse verschieden ist...ist mir eingentlich klar

      jedoch warum wird die Meldung 2,3 mal oder sogar
      nochmehr mal ausgegeben wird bei einem STATISCHEN Bild

      ...es handelt sich um keine Animated gifs da sonst die Meldung periodisch und endlos wiederkehren würde...oder je nach Anzahl Gif-Loops

      Ich würde mir also über solche Merkwürdigkeiten keine Gedanken
      machen - es sei denn, die Ladereihenfolge ist für Dein Projekt
      entscheidend. Dann solltest Du Dir allerdings einen anderen Weg
      überlegen.

      Naja die Ladereihenfolge wäre schon schön...hast Du eine andere Idee?

      Gruss and thanx

      Ralph

      1. Noch'n Gedicht...

        jedoch warum wird die Meldung 2,3 mal oder sogar
        nochmehr mal ausgegeben wird bei einem STATISCHEN Bild

        Hast Recht, das ist wirklich seltsam...  *grübel*

        ...es handelt sich um keine Animated gifs da sonst die Meldung periodisch und endlos wiederkehren würde...oder je nach Anzahl Gif-Loops

        Hier irren Euer Merkwürden - auch animated GIFs werden nur 1x geladen, schließlich sind alle Bewegungsphasen in EINER Datei enthalten!

        Naja die Ladereihenfolge wäre schon schön...hast Du eine andere Idee?

        Hmm, wie wär's mit Javascript: Im HTML-Code nur kleine!! Dummy-Bilder laden, dann über ONLOAD das jeweils nächste Bild dynamisch nachladen und ersetzen...?

        Viel Spaß beim Ausprobieren!

        martin

      2. Hallo Ralph,

        jedoch warum wird die Meldung 2,3 mal oder sogar
        nochmehr mal ausgegeben wird bei einem STATISCHEN Bild

        Möglicherweise liegt es daran:

        Der Browser baut die Seite auf, soweit er es (während der Ladephase) kann. Ist dann bereits ein Bild da, wird die Meldung ausgegeben. Wenn der Browser nun das Layout der Seite im weiteren Verlauf des Ladens ändern muß, "lädt" er das Bild nach der Layoutänderung nochmal, wenn auch nur aus den Cache, -> Alert. Der Grund für eine solche Layout-Änderung kann folgender sein: Wenn bei Bildern keine Größenangaben im img-Tag stehen, rendert der Browser die Seite, ohne zu wissen, wieviel Platz fürs Bild gebracut wird, wenn er dann das Bild vom Server bekommt und es nicht passt (was mit Sicherheit so ist), muß er neu rendern...
        Das gilt auch für alle anderen Elemente, die das Layout beeinflussen.

        Erstelle zum Test mal eine Datei, die nur die 3 Bilder + JavaScript enthält (auch ohne Tabellen) und gib im img-Tag die Größe an.

        Gruß Frank

        P.S. Opera stellt die Seite erst dar, wenn das komplette Layout bekannt ist. Netscape tut dies so z.B. mit Tabellen.