Sven Rautenberg: Prelaoder -> Afterloader?

Beitrag lesen

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