Kai: Webseite in 2 Schritten anzeigen, da Berechnungsteil sehr lange

Meine Ausgabeseite besteht aus zwei Teilen, der erste wird aus der Datenbank gelesen, was ja ziemnlich schnell geht, der zweite Teil sind Berechnungen, di mitunter 1 bis 5Sekunden dauern. Bis jetzt ist es so, das die Seite erst dann angezigt wird, wenn sie komplett ist. Kann man die beiden Teile irgendwie teilen, so das erst der erste Teil angeziegt wird, dann die Berechnungen beginnen und diese anschliessend angezeigt werden?

  1. Meine Ausgabeseite besteht aus zwei Teilen, der erste wird aus der Datenbank gelesen, was ja ziemnlich schnell geht, der zweite Teil sind Berechnungen, di mitunter 1 bis 5Sekunden dauern. Bis jetzt ist es so, das die Seite erst dann angezigt wird, wenn sie komplett ist. Kann man die beiden Teile irgendwie teilen, so das erst der erste Teil angeziegt wird, dann die Berechnungen beginnen und diese anschliessend angezeigt werden?

    Du könntest den zweiten Teil auslagern und per iframe einbinden den du in ein noscript-Element packst. Wenn JavaScript zur Verfügung steht, lädst du den Inhalt per Ajax nach.

  2. Hi!

    Meine Ausgabeseite besteht aus zwei Teilen, der erste wird aus der Datenbank gelesen, was ja ziemnlich schnell geht, der zweite Teil sind Berechnungen, di mitunter 1 bis 5Sekunden dauern. Bis jetzt ist es so, das die Seite erst dann angezigt wird, wenn sie komplett ist. Kann man die beiden Teile irgendwie teilen, so das erst der erste Teil angeziegt wird, dann die Berechnungen beginnen und diese anschliessend angezeigt werden?

    Einerseits ist es möglich, mit flush() ein Leeren der Ausgabepuffer in Richtung Client zu erbitten. Aber nicht alls Clients rendern auch in allen Situationen sofort los, wenn sie Daten erhalten haben. Besonders bei Tabellen-Layout sind sie zögerlich, wenn sie nicht wissen, wieviel Daten da noch kommen und wie groß die Zellen berechnet werden müssen.

    Andererseits kannst du es so machen, wie es einige Kundenportale tun. Statt zuerst die Daten zu sammeln und dann die Seite auszugeben, denken sie, es wäre für den Wartenden erträglicher, wenn zuerst ein leeres Seitengerüst erscheint, und er dann während der Wartezeit beim Nachladen über Ajax mit irgendeiner Animation erfreut wird. Der Nachteil an dieser Methode ist, dass man zwar immer noch die Wartezeit in einem anderen Tab verbringen kann, das Ende des Ladens aber nicht mehr durch ein Ende der Animation im Tab-Icon angezeigt wird.

    Lo!