Pre(after)loading von images

hi all,
ich wollte einige wichtige bilder auf meiner site pre oder besser gesagt, ständig nachloaden…

das habe ich in eine ext. javascript-datei geworfen:

var bild1= new Image();
bild1.src = „…/pictures/bild1.gif“;

var bild2 = new Image();
bild2.src = „…/pictures/bild2.gif“;

frage 1 ist nun, kann ich bei vielen bildern die irgendwie in array verpacken, so dass ich ich die initialisierung eines neuen Images nur EINMAL vornehmen muss?

frage 2: ich habe etwa 50 bilder die ich ständig nachladen will, so eine art armseliges flash :smile: problem ist, die aufzurufende site lädt ziemlich lange. ok, dann hab ich den tag zum einbinden des ext. javascript-dokuments, ganz am ende meiner index-seite gestellt, jetzt dürften die bilder doch erst nachgeladen werden, wenn die seite aufgebaut ist odeR? irgendwie kommt es mir aber trotzdem langsamer vor, und zusätzlich verwirrt mich, das dies sogar bei einem reload so ist, d. h. nach dem ALLE bilder bereits im cache sind! dauert das solange da jedesmal geprüft wird, ob alle bilder schon im cache sind?

frage 3, manchmal spinnt der komplette rechner, kann es sein, dass bei der instanziierung von zuvielen image objekten der rechner ausflippt?

danke für jegliche hilfe :smile:
timsta

Hallo,

also zu Deiner dritten Frage kann ich Dir keine Anwort geben. An der blossen Anzahl der Images kann es meiner Meinung nicht liegen. Ich habe selber ne Seite, wo ca. 250 Bilder geladen werden, aber nur ca. 500 Bytes/Bild. Koennte aber sein, dass es bei Bildern mit meheren kB/Bild zu Problemen kommen. Aber vorstellen kann ich mir dies nicht. Asserdem hast Du auch nicht beschrieben auf welche Art und Weise Dein Rechner dann an zu spinnen faengt.

Bei Deiner zweiten Frage kann ich nur sagen, dass das Verhalten des Browsers genau richtig ist. Der Reload-Button ist ja extra dafuer da, eine Seite komplett neu zu laden um den Cache updaten zu koennen. Denn es kann ja sein, dass sich im Cache Elemente zu einer Seite befinden, die sich zwischenseitlich auf dem Server geaendert haben.

Zu Deiner ersten Frage: Wenn Du so viele Bilder zu laden hast, dann ist es sinnvoll sie nach einem bestimmten Schema zu benennen, also z.B. wie bei Dir vorgegeben: bild0.gif, bild1.gif, bild2.gif,…,bildn.gif,…

function preLoadImgs(prmCnt)
{
prmCnt = prmCnt ? Math.abs(parseInt(prmCnt)) : 0;

var aryImg = new Array();

for (var i=0; i