Michael Schröpl: Preload von Dateien

Beitrag lesen

Hi,

Ich möchte eine kleine preloader seite in der ein
Ladebalken (wenn möglich) anzeigt wieviel bereits
geladen ist und dann weiterleitet.

Du hast aber keinerlei Kontrolle darüber, was der
Browser gerade tut. Der startet je nach Hersteller,
Konfiguration, Lust und Laune beliebig viele HTTP-
Requests parallel und teilt niemandem mit, was er
gerade tut und "wie weit" er dabei schon ist.

Und manchmal weiß er das auch selbst nicht.
Denn in HTTP _soll_ man zwar eine Content-Length
mitliefern, aber man _muß_ es nicht.
Und wenn der Client gar nicht weiß, wie groß die
übertragenen Daten sind, wie soll er dann wissen,
welcher Anteil dieser unbekannten Datenmenge bereits
da ist?

klappt wahrscheinlich nur mit javascript.

Nein - es klappt einfach überhaupt nicht.
Du hast keine Kontrolle darüber, was der Browser lädt.

Wäre alles, was Du lädst, HTML-Dokumente, dann könntest
Du in der Tat bei jedem Lade-Ende einen onLoad-Event
in JavaScript feuern und den Umfang des geladenen
Objekts zu irgend einem Zähler addieren (wobei jedoch
reichlich unklar wäre, ob und wie der Browser parallele
Schreibzugriffe auf diese Variable synchronisiern würde).
Aber bei Bildern, Sounds etc. hast Du keine Chance,
wenn die einfach vom Browser via HTTP geladen werden.

ich brauche diesen preloader da die seite sonst gar
nicht sauber angezeigt wird.

Du brauchst eine lösbare Aufgabenstellung.

Viele Grüße
      Michael