Wie auf Preload Image zugreifen?
Olaf
- javascript
Hallo zusammen,
ich habe ein Verständnisproblem beim Thema Image preload mit Javascript.
Angenommen ich habe drei Bilder auf einer Webseite, die ich später in einem HTML Container anzeigen will.
Die Bilder sind sehr gross (>300 k), deshalb werden sie vorgeladen.
var i = 0;
imageObj = new Image();
images = new Array();
images[0]="image1.jpg"
images[1]="image2.jpg"
images[2]="image3.jpg"
for(i=0; i<3; i++)
{
imageObj.src=images[i];
}
Damit werden die Bilder in den Browsercache geladen.
Angenommen, ich will jetzt einem Image der Seite eine neue src zuweisen, kann ich dann einfach sagen
document.img01.src='image1.jpg'
oder muss ich, um das vorgeladene Bild aus dem Browser anzuzeigen
document.img01.src=imageObj.src
notieren?
Danke und Grüsse
Olaf
Hi,
var i = 0;
imageObj = new Image();
images = new Array();
images[0]="image1.jpg"
images[1]="image2.jpg"
images[2]="image3.jpg"for(i=0; i<3; i++)
{
imageObj.src=images[i];
}
>
> Damit werden die Bilder in den Browsercache geladen.
Da wäre ich mir nicht so sicher - du benutzt nur ein Image-Objekt, und weist dem blitzschnell nacheinander neue Bildadressen zu.
Ob dabei alle Browser alle Bilder laden, halte ich für zweifelhaft - eher wahrscheinlich erscheint mir, dass das Laden eines Bildes abgebrochen werden könnte, wenn du die neue Adresse zuweist.
"Normalerweise" benutzt man für sowas so viele Bildobjekte, wie auch Bilder vorzuladen sind.
> Angenommen, ich will jetzt einem Image der Seite eine neue src zuweisen, kann ich dann einfach sagen
>
> ~~~javascript
> document.img01.src='image1.jpg'
>
oder muss ich, um das vorgeladene Bild aus dem Browser anzuzeigen
document.img01.src=imageObj.src
>
> notieren?
Das ist im Grund wurscht.
Die Image-Objekte in JavaScript dienen nur zum Vorladen, danach hat der Browser die Ressource im Cache - und er identifiziert sie natürlich anhand ihres URLs.
Wie du jetzt einem Bild im HTML einen URL zuweist, ist vollkommen egal.
MfG ChrisB
--
Light travels faster than sound - that's why most people appear bright until you hear them speak.
Hallo ChrisB,
Da wäre ich mir nicht so sicher - du benutzt nur ein Image-Objekt, und weist dem blitzschnell nacheinander neue Bildadressen zu.
Ob dabei alle Browser alle Bilder laden, halte ich für zweifelhaft - eher wahrscheinlich erscheint mir, dass das Laden eines Bildes abgebrochen werden könnte, wenn du die neue Adresse zuweist.
nicht nur zweifelhaft, im FF 2 war es meiner Erfahrung nach sicher, das das Laden abgebrochen wurde. Weitere Tests habe ich mir dann geschenkt.
Gruß, Jürgen