Seite erst laden und dann einblenden

Status
Nicht offen für weitere Antworten.

casr

Mitglied
Hallo

Irgendwie hab ich folgende Möglichkeit im Hinterkopf, weiss aber nicht mehr ob mit HTML, CSS, JS oder was auch immer möglich.

Ich will, dass man den Seitenaufbau visuell nicht sieht. Heisst, der Browser soll warte bis er die ganze Seite geladen hat, und sie dann einblenden.

Wie geht das?

Grüsse Casr
 
Was hast du dagegen, dass der Aufbau deiner Seite nicht zu sehen ist? Das ist doch vollkommen normal.

Such mal im JavaScript-Forum mit dem Stichwort „preload“ oder „preloader“.
 
Falsch verstanden,

Wenn ich eine ganz normale HTML-Seite öffne, dann kann ich je nach Bandbreite und Server zusehen wie sich die Seite aufbaut (Text da geschrieben, Text wird dort geschrieben, Bild wird geladen, noch ein Bild wird geladen...). Ich möchte lediglich, dass der Browser wartet bis er alle Daten hat, und sie dann auf einen Schlag einblendet. Nix mit Preload & Co.

Irgendwie geht das, hab nur vergessen wie und womit (muss das Alter sein....)

Gruss
 
Der Browser schreibt keinen Text, sondern rendert ihn. Dass dieses Rendern so lange dauert, liegt oft daran, dass Tabellen fälschlicherweise zur Strukturierung benutzt werden. Denn bei Tabellen warten die Browser, bis sie komplett übertragen wurden, analysiert dann erst ihren Aufbau und stellt sie schließlich dar.
Die von dir beschriebenen „Verhaltensweisen“ ließe sich meines Wissens nur mit einem „Preloader“ erzielen.
 
Denn bei Tabellen warten die Browser, bis sie komplett übertragen wurden, analysiert dann erst ihren Aufbau und stellt sie schließlich dar.
:confused: Wäre mir neu. Ich habe schon oft erlebt, dass die Hälfte einer Tabelle bereits geladen wurde und die andere Hälfte noch nicht.
 
Es wird erst die erste Zelle, dann die zweite Zelle, die dritte usw. nacheinander dargestellt.

Und wie oben schon erwähnt, kann man das mit einem Preload Script (z.B. JS) umgehen.

greetz
 
Wenn Du die Site einach nicht anzeigen möchtest kannst Du auch eine Ebene drüberlegen und diese dann ausblenden, sobald der Inhalt geladen wurde.
Ich hab das im Dreamweaver mal durchexerziert, der COde schaut so aus:
Code:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
</head>

<body onLoad="MM_showHideLayers('loading','','hide')">
Content
<div id="loading" style="position:absolute; width:1024px; height:800px; z-index:1; left: 0px; top: 0; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000;"></div>
</body>

Schaut zwar 'etwas' unübersichtlich aus, aber ich glaub es wird klar was ich meine..
 
Hi,

verstecke den Inhalt des BODYs mit CSS. Im onload-Event des BODYs blendest du den Inhalt
am Ende des Ladevorgangs wieder ein.
HTML:
<body style="display: none;" onload="document.getElementsByTagName('BODY')[0].style.display='block';">
Sei dir aber darüber im klaren, dass es sich hierbei um eine JavaScript-Lösung handelt. Hat ein
Benutzer JS abgeschaltet, bekommt er den Inhalt deiner Seite nie zu Gesicht.

Ciao
Quaese
 
casr
Nehmen wir einfach mal an, Unabhängig ob der user Javascripte usw. Aktiviert hat oder nicht, was Passiert wen eine Grafik nicht gefunden wird und in folge dessen er nicht Fertig laden kann :confused:
Der Besucher bekommt garnichts zu sehen.
Langsame Verbindungen die teilweise noch vorhanden sind wie 56kb Modems werden ja auch etwas Länger brauchen, was wiederum heißt der besucher sieht nichts, wo er sich dann nach einer gewissen zeit denkt die Seite sei Down und verschwindet dann wieder.

kommt es öffters vor kommt er NIE wieder.

Du solltest es dir Überlegen ob du soetwas benutzen möchtest und wenn dann Bitte mit Hinweis "Ich lade gerade oder soetwas" damit auch jeder bescheit weiß.


Gruß
 
Status
Nicht offen für weitere Antworten.
Zurück