Preloading mit dem Javascript-Image-Objekt

In einem Browser werden Bilder normalerweise nur nach einem entsprechenden HTTP-Request geladen, entweder passiv über einen <img>-Tag oder aktiv durch einen Methodenaufruf. Wenn man also per JavaScript Bilder bei einem Mouse-over auswechselt oder Bilder nach einer bestimmten Zeitspanne automatisch austauscht, kann es zwischen wenigen Sekunden bis zu ein paar Minuten dauern, ehe das Bild vom Server abgerufen ist. Besonders stark fällt dies ins Gewicht, wenn man nur über eine langsame Internetanbindung verfügt oder die zu ladenden Bilder sehr groß sind. Auf jeden Fall macht die Verzögerung den gewünschten Effekt zunichte.

Einige Browser versuchen dieses Problem zu umgehen, indem sie die Bilder im lokalen Cache zwischenspeichern, so dass nachfolgende Aufrufe des Bildes sofort erledigt werden können. Beim allerersten Aufruf eines Bildes gibt es jedoch trotzdem eine Verzögerung. Preloading ist ein Verfahren um das Bild in den Cache herunterzuladen, bevor es benötigt wird. Auf diese Weise kann das Bild bei Bedarf aus dem Cache abgerufen und sofort angezeigt werden.

Das Image()-Objekt

Die einfachste Möglichkeit, ein Bild im Voraus zu laden, besteht darin, in Javascript ein neues Image()-Objekt zu instanziieren und diesem die URL des gewünschten Bildes zu übergeben. Angenommen es gibt ein Bild namens heavyimagefile.jpg, das angezeigt werden soll wenn der Benutzer mit dem Mauszeiger über ein bereits angezeigtes Bild fährt. Um dieses Bild für eine schnellere Reaktionszeit im Voraus zu laden, erstellt man einfach ein neues Image()-Objekt namens heavyImage und lädt es mithilfe des onLoad()-Event-Handlers gleichzeitig mit der Seite:

Man beachte, dass der image-Tag selbst die Events onMouseOver() und onMouseOut() nicht kennt, weshalb der <img>-Tag im obigen Beispiel in einen <a>-Tag eingeschlossen ist, der diese beiden Events unterstützt.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

9 Stunden ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

10 Stunden ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

15 Stunden ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

19 Stunden ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

19 Stunden ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

1 Tag ago