Bild-Preloader

Re: @adam wille

Original geschrieben von jimi hendrix
es sieht auch so aus als würde dein code laufen, aber wenn, dann so schnell dass ich das bild nicht mehr zu sehen bekomme. naja mein cache hat die bilder ja auch schon drin...
Dann leere ihn doch mal und teste erneut. :)

jetzt überleg ich, wie und ob man in deiner ladecheck function


function ladecheck(obj) {
if (obj.complete) { // nur zur Dokumentierung
ladearray[lauf++] = true;
} else {
ladearray[lauf++] = false;

für den fall ladearray[lauf++] = false; einen befehl einbauen kann der solange die bilder nicht geladen sind, einen link auf die hauptseite anzeigt...
Dazu benötigt es das Array "ladearray" nicht, dort wird nur häppchenweise eingetragen ob ein Bild erfolgreich gecachet wurde oder nicht.
Wichtiger wäre hierbei wohl der Gesamtarray-Vergleich.
PHP:
if (ladearray.length == bildanzahl) {
    document.getElementById("weiterleitung").innerHTML = "<a href='index.htm'>Weiter zur Startseite</a>";
} 

[...]

<span id="weiterleitung"><a href="index.htm">Hier klicken um ohne die Bilder vorzuladen weitergeleitet zu werden</a></span>    // irgendwo im <body>-Tag
Der Code ist leider nicht allzu kompatibel mit etwas angestaubten Browsern, vor allem die Opera greift hier nur in den neuesten Versionen soweit ich weiß.

denn wenn der benutzer javascript deaktiviert hat, wird ihm der html-code doch trotzdem angezeigt, oder hab ich da was falsch verstanden?
Nein, stimmt so. :)

Für diesen Fall kannst du bspw. einen <noscript>-Tag hinzufügen, der deinen weiterfürhenden Link beinhaltet.

p.s.: wie wäre den statt "new Image" für ein bild die variable für einen sound, also .wav .mid oder .mp3 in javascript?
Eher nicht, nehme ich an, aber du kannst es gerne testen, der Code bliebe bis auf die Klassen-Änderungen wohl der gleiche.

p.p.s.: hmm. ich hab den zu ladenden bildern grad zum testen mal ein 11.mb jpg hinzugefügt und der ladebildschirm zuckt immer noch an mir vorbei wie ein dejá vu auf der netzhaut...
Würde mich wundern, aber ich werd's mir nochmal anschauen.

Gruß,
Adam
 
Zuletzt bearbeitet:
sorry lieber Geist, aber dein preloader mogelt glaub' ich :)

leider bin ich zu neu auf dem gebiet javascript und kann diese funktion nicht übersetzen:

function ladecheck(obj) {
if (obj.complete) { // nur zur Dokumentierung
ladearray[lauf++] = true;
} else {
ladearray[lauf++] = false;
}
if (ladearray.length == 30) {
window.location = enter.html;
}
return obj;

daher komm ich leider mir der logik deines loaders nicht ganz klar auch wenn er recht simpel ist.

ich hab dir mal die .htm angehängt. wenn du mal kurz drüber schauen könntest wär ich dir echt sehr verbunden
 
Zurück