Beitrag
von Rem » 02.08.2010, 20:59
Ich bin offen: ich sehe den Sinn nicht...
Bei Laden einer Seite kommen alle Dateien und Skripte in separate Threads. Es gibt meiner Ansicht nach zwei wichtige Dinge beim Seitenaufbau:
- wichtiger Content zuerst im Code
- Grössenangaben bei Elementen (wie div-Boxen bzw. Bildern) helfen dem Browser schon, die Seite korrekt aufzubauen.
- Wenige externe Elemente: Multithreading ist glaube ich immer noch auf 10 Threads beschränkt? Also: statt 3 externe CSS-Dateien lieber nur 1 usw. Oder zig-hundert Bildchen: alle löschen!
Bei Dir liest sich das so, wie wenn der "Skript-Müll" mittendrin ausgeführt wird und Du dann ganz am Schluss den Browser ein erneutes Rendering aufzwingst.
Einfach mal als Beispiel:
Ein 728*90 Pixel-Banner könnte z.B. durchaus am Ende des Codes eingebaut werden. Bis der Banner im Code zur Ausführung kommt, stände oben halt eine weisse Fläche. Man würde halt das Div mit dem Content bereits mit einem 90px grossen Abstand zur oberen Begrenzung nutzen.
Das entspräche im Prinzip dem "Feel", der Deine Lösung erzeugt, mit einem Unterschied: der wichtige Inhalt steht schon statisch da und ändert sich auch nicht mehr.
Deine Aussage mit den Ladezeiten: physikalisch gesehen nicht. Du musst die Zeit fürs Rendern und vor allem fürs Neurendern einrechnen, den Du unter Umständen mit schlecht gewählten Design-Vorgaben erzeugst. Es kann natürlich sein, dass wenn der Browser schon allen Code runtergeladen hat, ein einmaliges Rendern eben schneller geht, als ein zigfaches Rendern, weil ständig irgendwas neues reingepresst wird...
Insofern: ja, kann eine "Patentlösung" sein, aber womöglich nicht das non-plus-ultra. Vielleicht hilft es z.B. schon, Divs um die Werbeblöcke zu legen, die bereits die Höhen und Breiten-Angaben des zukünftigen Werbemittels enthalten? [mal als "Testanregung"]
Zu Google SEO und so: Ist google egal. Das JS ist ja nicht relevanter bzw. manipulativer Content.