Hallo Andreas,
Hallo, ich habe eine Seite, wo das laden etwas länger dauert. Ich würde gerne wärend dem Ladevorgang eine Medlung ausgeben, die dann verschwindet, wenn die Seite fertig geladen ist.
Zuerst einmal: Es *gibt* im WWW große HTML-Dateien und bei einer langsamen Internetverbindung brauchen die nun einmal viel Zeit zum laden. Das ist etwas ganz normales, über dass sich niemand wundern wird. Es sei denn, du hast deine gesamte Seite in eine Tabelle gepackt und irgend ein Schundbrowser kann Tabellen erst anzeigen, wenn sie komplett geladen wurden. Dann solltest du vielleicht versuchen, die Tabelle in mehrere kleinere Tabellen zu unterteilen.
Zu deinem Problem: Schreib am Anfang (i.e. hinter <body>):
<div id="unnoetigemeldung">Bitte warten...</div>
Und schreib im body-Tag:
<body onload="document.getElementById('unnoetigemeldung').style.display='none'">
Statt dem onload-Event-Handler kannst du auch am ende der Seite (vor </body>) schreiben (und das ist IMHO eleganter, weil es ganz sicher erst nach dem Laden der Seite aufgerufen wird, evtl. aber noch vor dem vollständigen Laden von Bildern):
<script type="text/javascript">
document.getElementById('unnoetigemeldung').style.display='none';
</script>
Ja und dann hast du natürlich noch das Problem mit den Leuten, die kein JavaScript eingeschaltet haben oder deren Browser kein DOM kennt, also machst du die Bitte-Warten-Meldung mit HTML/CSS unsichtbar und mit JavaScript sichtbar. Das ganze sieht dann also wie folgt aus:
<html>
<head>
...
</head>
<body>
<div id="unnoetigemeldung" style="display:none">Bitte warten...</div>
<script type="text/javascript">
document.getElementById("unnoetigemeldung").style.display = "block";
</script>
...gaaaaaaanz viel Text...
<script type="text/javascript">
document.getElementById("unnoetigemeldung").style.display = "none";
</script>
</body>
</html>
Viel Erfolg,
Robert