Hola,
Lo que pudes hacer es poner todo el contenido en un div oculto y otro que diga "Cargando.." o algo haci en otro div, fuera del oculto.
En el body pone onload="terminado()" y terminado() oculta el div de espera y aparese el div del contenido.
Es lo que yo hice para una web.
Prueba esto:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Precargado</title>
<script type="text/javascript">
function terminado(){
document.getElementById('contenido_web').style.visibility='visible';
document.getElementById('div_espera').style.visibility='hidden';
}
</script>
</head>
<body onload="terminado();">
<div id="div_espera" style="top:0; left:0; position:absolute; background-color:#FF0000; width: 98px; height: 21px;"><strong>Cargando...</strong></div>
<div id="contenido_web" style="visibility:hidden;">
<p>Contenido de mi web</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
</body>
</html>
Suerte
Salu2