Björn Rosenthal: Prelaoder -> Afterloader?

Hallo,
es ist ja möglich Daten im Bodytag vorzuladen.
Ich möchte aber gerne Daten vorladen, die erst auf einer kommenden Seite auftauchen werden.
Beispiel:
Meine Startseite beinhaltet relativ wenig Daten und ist daher schnell geladen.
Nun möchte ich aber, nachdem alle Daten geladen sind, schon einmal anfangen die sehr großen Daten der nächsten Seite laden.

Vielleicht hat jemand ja einen Tipp wie ich das am besten mache.
Viele Grüße
und schon einmal vielen Dank
Björn

  1. Moin!

    es ist ja möglich Daten im Bodytag vorzuladen.
    Ich möchte aber gerne Daten vorladen, die erst auf einer kommenden Seite auftauchen werden.
    Beispiel:
    Meine Startseite beinhaltet relativ wenig Daten und ist daher schnell geladen.
    Nun möchte ich aber, nachdem alle Daten geladen sind, schon einmal anfangen die sehr großen Daten der nächsten Seite laden.

    Das macht bei den allermeisten Anwendungsfällen kaum Sinn.

    Daten vorzuladen, die aktuell benötigt werden können, z.B. die Bilder für Mouseover, ist sinnvoll. Du kannst aber nicht wissen, ob der Besucher die Daten, die du für andere Seiten vorladen willst, überhaupt benötigt. Wohin wird er denn als nächstes gehen? Sein Ziel ist unbekannt.

    Außerdem ist solch ein Vorladen ja nicht "kostenlos":
    1. Es kostet Zeit. Jetzt ist deine Startseite noch schnell geladen, hinterher wird man auf sie warten müssen, ohne daß man davon etwas hat. Modembenutzer, die irrtümlich auf deine Seite kamen, werden "Danke" sagen.
    2. Es kostet Datentransfer. Wer die vorgeladenen Grafiken nicht benötigt, weil er diese Seiten garnicht besucht, wird sich ärgern, wenn er einen volumenbasierten Internetzugang hat.
    3. Es kosten Pflegeaufwand. Du mußt bei Änderungen ja immer zwei Orte ändern: Die eigentliche Datei, und den Vorlader. Wenn du den Vorlader vergißt, ist das doppelt ärgerlich.
    4. Vorladen auf der ersten Seite für eine zweite Seite setzt voraus, daß der Benutzer auch garantiert die erste Seite zuerst besucht, und nicht gleich mit Seite Zwei anfängt. Wenn er das nämlich macht, ist der Vorlader sinnlos.

    Ich hoffe, du siehst ein, daß Vorladen für andere als die aktuell gewünschte Seite nicht sinnvoll ist. Wenn deine zweite Seite zu lange zum Laden benötigt, dann wirst du dieses Problem nicht dadurch lösen, daß du die Ladezeit auf die erste Seite verlagerst - das ändert ja an der Gesamtdauer nichts. Du solltest dann lieber andere Möglichkeiten prüfen, um die Ladezeit insgesamt zu verringern.

    Ein Vorladen für andere Seiten funktioniert im Prinzip genauso, wie für die aktuelle Seite: Binde die Bilder irgendwie ein, beispielsweise als 1x1 Pixel großes Bild.

    Du mußt allerdings damit rechnen, daß bei irgendeiner falschen Einstellung des Browsercaches oder des Servers der Caching-Effekt ausbleibt und die Bilder doch alle neu geladen werden. Oder der Besucher bricht das Vorladen ab, weil er gleich zur zweiten Seite durchklickt.

    - Sven Rautenberg

    1. Hallo Sven,

      1. Es kostet Zeit. Jetzt ist deine Startseite noch
        schnell geladen, hinterher wird man auf sie warten
        müssen, ohne daß man davon etwas hat. Modembenutzer,
        die irrtümlich auf deine Seite kamen, werden
        "Danke" sagen.

      gilt das auch noch, wenn der "Nachlader" über <body
      onload=""> eingeunden wird?

      1. Vorladen auf der ersten Seite für eine zweite
        Seite setzt voraus, daß der Benutzer auch garantiert
        die erste Seite zuerst besucht, und nicht gleich mit
        Seite Zwei anfängt.
        Wenn er das nämlich macht, ist der Vorlader sinnlos.

      Das ist ggf. eine Frage der Wahrscheinlichkeiten.
      Natürlich kann man nicht verhindern, daß jemand auf
      Seite 2 anfängt - wenn aber 90% der Besucher das nicht
      tun (und Seite 1 Brücken-Charakter hat), kann sich der
      Nachlader ggf. durchaus lohnen.

      Ich hoffe, du siehst ein, daß Vorladen für andere
      als die aktuell gewünschte Seite nicht sinnvoll ist.
      Wenn deine zweite Seite zu lange zum Laden benötigt,
      dann wirst du dieses Problem nicht dadurch lösen,
      daß du die Ladezeit auf die erste Seite verlagerst -
      das ändert ja an der Gesamtdauer nichts.

      Aber es verlagert den Ladevorgang von einem Zeitraum,
      in welchem der Benutzer mangels Bildern blockiert ist,
      in einen Zeitraum, in welchem er den bereits vollstän-
      digen Inhalt der ersten Seite schon mal in aller Ruhe
      lesen kann.

      Du solltest dann lieber andere Möglichkeiten prüfen,
      um die Ladezeit insgesamt zu verringern.

      Das ist natürlich auf jeden Fall eine gute Idee.

      Viele Grüße
      <img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.ico" border=0 alt=""> Michael

      1. Hallo Leude,

        ein oft wiederholter Tipp ist es, Bilder der häufigst genutzten Folgeseiten in stark minimierter Größe zu laden (1X1 Pixel). Ausprobiert hab ich's noch nie, aber eigentlich sollte es funktionieren. Irritierend für den Nutzer ist vielleicht, das da im Hintegrund noch geqrbeitet wird. Vielleicht eine kurze Meldung per on load in die Statuszeile. (Preloader: Bilder der Unterseiten werden geladen)

        A Popo: Zum viel diskutierten Denglisch-Problem auf diesen Seiten: Sollte es nicht genauer Arschlader heißen? ;-)

        Viele Grüße
        Mathias Bigge