In Reihenfolge preloaden/anzeigen

_fluxus_

Mitglied
Hallo,
preloaden ist für mich das laden eines oder mehrerer Bilder/Grafiken/Images etc., wenn diese Grafiken komplett geladen sind werden sie in der Reihenfolge angezeigt wie sie geladen wurden, erst bild01, dann bild02 etc. Das funktioniert bei mir absolut nicht.

Erklärung:
Ich habe mir ein preload script gesucht und eingesetzt. Es lädt diverse Grafiken, die der Navigation, on mouse over Bilder und 4 große Grafiken [1020x150 jeweils].

Das script wurde in die Index-Seite eingebunden welche auf eine andere Seite verweist. Auf dieser Seite sollen die Bilder zu sehen sein. Öffnet sich die Seite, kann man sehen wie die große Grafik geladen wird und auch die Navigationsgrafiken. Geht man mit dem Mauszeiger über die einzelnen Menüpunkte so dauert es kurz und dann wird die entsprechende mouse over Grafik angezeigt. Dies kann doch nicht ganz richtig sein, denn der preloader sollte sie vorladen.

Ich möchte es nun so hinbekommen das die Seite angezeigt wird und die Bilder erst dann, wenn sie wirklich komplett geladen sind, in Reihenfolge angezeigt werden.

Vielen Dank für die Hilfe im Voraus.


Das Script:
<script language="JavaScript">
<!--
var preloadFlag = false;
function preloadImages() {
if (document.images) {
bild01 = newImage("/pics/bg_01.jpg");
bild02 = newImage("/pics/bg_02.jpg");
bild03 = newImage("/pics/bg_03.jpg");
bild04 = newImage("/pics/bg_04.jpg");
bild05 = newImage("/pics/bg_05.jpg");
bild06 = newImage("/pics/01.gif");
bild07 = newImage("/pics/01b.gif");
bild06 = newImage("/pics/02.gif");
bild07 = newImage("/pics/02b.gif");
bild07 = newImage("/pics/03.gif");
bild08 = newImage("/pics/03b.gif");
bild06 = newImage("/pics/04.gif");
bild07 = newImage("/pics/04b.gif");
bild08 = newImage("/pics/05.gif");
bild07 = newImage("/pics/05b.gif");
preloadFlag = true;
}
}
//-->
</script>
 
So wie es jetzt ist,dürfte dein Skript allenfalls eine Reihe von JS-Fehlern verursachen :(

new Image gehört auseinandergeschrieben,und ob die Zuweisung der src so funktioniert,weiss ich nicht.

Machs mal so:

Code:
bild01 = new Image();bild01.src="/pics/bg_01.jpg";

dann werden die Bilder zumindest vorgeladen.

"preloadFlag = true;" prüft auch nicht,ob die Bilder geladen wurden,es signalisiert lediglich,dass das Skript durchlaufen wurde.

Die Überprüfung ,die du vorhast,ist eigentlich nicht nötig.

Schlimmstenfalls würde deine Seite nicht angezeigt werden,wenn ein Bild nicht geladen werden kann. Da die zu ladenden Grafiken ja nicht allzugross sein werden, würd ich einfach darauf vertrauen,dass das Skript alles geladen hat,wenn es gebraucht wird.....das ist ja ohnehin nur eine Frage von Sekunden(Bruchteilen), und in der Regel liest man ja erstmal ein wenig, bevor man herumnavigiert :)
....also warum den Besucher auf die Folter spannen?.....nur weil eine Grafik noch nicht geladen ist,bei der noch nicht einmal sicher ist,dass sie später benötigt wird ;)
 
Hallo fatalus.

_::new Image gehört auseinandergeschrieben:
Wußte ich nicht, dass es auseinander geschrieben wird. Habe das script von http://www.web-toolbox.net/webtoolbox/bilder/images-vorladen.htm dort steht es aneinander geschrieben.

_::Machs mal so:
Danke für deinen Tipp. Ich habe es so versucht. Irgendwie geht es immer noch nicht so richtig. Wenn die Seite sich öffnet auf der die Bilder eingebunden sind kann ich zusehen wie das Bild und die Navigationsgraphiken geladen werden, durcheinander. Wenn ich auf eine andere Unterseite wechsel, die Navigationsgraphiken bleiben dieselben, werden diese erneut geladen, obwohl sie sich doch im Cache des Browsers befinden sollten, ein zum gewählten Menüpunkt passendes Bild wird auch erst dann geladen, obwohl es "eigentlich" vorgeladen sein sollte etc.

_::Da die zu ladenden Grafiken ja nicht allzugross sein werden:
Die Navigationsgraphiken haben eine Größe von 1 KB.
Die restlichen Graphiken, 4 Stück, haben jeweils eine Größe von ca. 30 KB.

::warum den Besucher auf die Folter spannen?. nur weil eine Grafik noch nicht geladen ist:
Da ich den Ladeprozess nicht darstellen möchte. Ich finde es besser/schöner etc. das wenn das Bild komplett geladen ist erst dann angezeigt wird. Das stückchenweise Laden der Grafik passt einfach nicht.
 
werden diese erneut geladen, obwohl sie sich doch im Cache des Browsers befinden sollten, ein zum gewählten Menüpunkt passendes Bild wird auch erst dann geladen, obwohl es "eigentlich" vorgeladen sein sollte etc.
:( Der Browser holt sich die Bilder halt,woher er will...nur weil er auf einer vorangegangenen Seite diese schon mal in den Cache geladen hatte,bedeutet dies nicht,dass er sie auch wieder dort herholt.
 
Guten Morgen fatalus,
dann verstehe ich anscheinend nicht den Sinn des Caches, wenn der Browser ohnehin die Daten erneut lädt, was ich zum ersten Mal jetzt höre/lese. Für mich war, und ist es so, dass die Bilder die der Browser bereits geladen hat nicht mehr laden muß [natürlich abhängig von der eingestellten Speichergröße], die entsprechenden Bilder auf den Folgeseiten, da sie dort auch eingebunden sind, somit schneller angezeigt werden.

Also ist ein preloader, zumindest der den ich verwenden möchte, überflüssig?

Einen schönen Tag noch fatalus.
 

Neue Beiträge

Zurück