molily: Seite erst laden, dann anzeigen?

Beitrag lesen

Ich programmiere für eine sehr spezielle Zielgruppe und diese möchte nunmal, dass der Ladevorgang nicht angezeigt wird, sondern erst die komplett geladene Seite. Ob das sinnvoll ist ist denen egal, also auch mir.

Wie gesagt:

<p>Bitte warten, Seite wird geladen...</p>

<div id="inhalt" style="visibility:hidden">
... Hauptinhalt ...
</div>

<script type="text/javascript">
window.onload = function () {
   document.getElementById("inhalt").style.visibility = "hidden";
};
</script>

Ich würde mit visibility arbeiten, weil damit intern schon die Blöcke gelayoutet werden.

Alternativ kannst du auch erstmal ohne onload arbeiten und einfach versuchen, ein script-Element direkt hinter dem Hauptinhalt zu positionieren. Darin kannst du direkt document.getElementById("inhalt").style.visibility = "hidden"; ausführen. Das Script wird ausgeführt, wenn der Browser den Hauptinhalt empfangen und das DOM daraus gebaut hat. Ob es dann schon auf dem Bildschirm erscheinen würde, wenn es nicht versteckt wäre, musst du prüfen. Das load-Ereignis tritt u.U. viel später ein und bringt u.U. unnötige Wartezeit mit sich. Informiere dich auch einmal über den Event DOMContentLoaded.

Mathias