Sebastian Böthin: Ereignis "Bild fertig geladen"?

Hi!
Ich möchte grosse animierte gif's laden. Um den hässlichen Ladevorgang
zu überbrücken, soll ein "loading image..." o.ä. erscheinen, das nach
einer gewissen Zeit durch das Bild ersetzt wird. Das geht ganz gut mit
'setTimeout(...)', wirft aber folgendes Problem auf:
Je nach Internet-Anbindung und Rechnerkapazität kann die Ladezeit
zwischen wenigen Sekunden und mehr als einer Minute variieren. Meine
Seite soll sich dem anpassen. Die Ladezeit nur von der Dateigrösse
abhängig zu machen, reicht also nicht. Ich müsste sowas wie ein
Ereignis "Bild fertig geladen" abfangen und darauf mit der Darstellung
des Bildes reagieren können. In Browsern findet ein solches Ereignis
offenbar statt, wie man an der Statuszeile sieht. Ist es nun aber
technisch möglich in JavaScript darauf zu reagieren?
Danke für jeden Hinweis!
Sebastian

  1. abhängig zu machen, reicht also nicht. Ich müsste sowas wie ein
    Ereignis "Bild fertig geladen" abfangen und darauf mit der Darstellung
    des Bildes reagieren können.

    Man kann die complete-Eigenschaft von Image-Objekten abfragen:

    if(imgobj.complete){...}

    MfG, Thomas

    1. abhängig zu machen, reicht also nicht. Ich müsste sowas wie ein
      Ereignis "Bild fertig geladen" abfangen und darauf mit der Darstellung
      des Bildes reagieren können.

      Man kann die complete-Eigenschaft von Image-Objekten abfragen:

      if(imgobj.complete){...}

      MfG, Thomas

      Kann man, aber das setzen die (Netscape-)Browser nicht alle, und nicht ordentlich. Vergleiche auch </selfhtml/javascript/objekte/images.htm#complete>.

      - Sven Rautenberg

      1. Kann man, aber das setzen die (Netscape-)Browser nicht alle, und nicht ordentlich. Vergleiche auch </selfhtml/javascript/objekte/images.htm#complete>.

        Und? JavaScript ist immer nur kann, evtl., ggf. vielleicht.

        MfG, Thomas

        1. Kann man, aber das setzen die (Netscape-)Browser nicht alle, und nicht ordentlich. Vergleiche auch </selfhtml/javascript/objekte/images.htm#complete>.

          Und? JavaScript ist immer nur kann, evtl., ggf. vielleicht.

          Stimmt. Aber wenn Browser Javascript können, und auch document.images.complete können, da aber auf Ewigkeiten "false" drinsteht, dann zerstört das den Zweck der Abfrage bzw. der Seite und hilft nicht. Muß also eine Browserabfrage mit rein. Daher mein Hinweis. Und dann wäre es logischerweise besser, Das Ani-GIF einfach nur einzubinden und den Kram mit "loading" zu lassen.

          PS: Netscape kann "lowsrc" - zumindest der 4er noch. Damit kriegt man ganz simpel auch solch eine Ladegrafik hin. Allerdings wird die dann vom echten Bild überschrieben, sobald die ersten Daten dafür eintreffen. Für diesen speziellen Fall ganz sinnvoll. Ansonsten rate ich vom Einsatz von lowsrc ab, da viel zuviele Grafiken geladen werden müssen, und diese Aktivität den Browser länger beschäftigt, als die echten Grafiken gleich zu laden.

          MfG, Thomas

          - Sven Rautenberg