Verzögerte Ausgabe

Verzögerte Ausgabe

am 31.07.2006 19:54:18 von stenes

Hallo, ich programmiere eine WebSite, bei der ich vor deren Anzeige
div. Aktualisierungen an einer Datenbank im Hintergrund vornehmen muß.
Diese Verarbeitung kann bis zu einer Minute dauern. Ich möchte nun,
daß während diese Zeit dem User bereits Informationen über die
Wartezeit oder einfach eine Kette von Punkten oder ähnliches angezeigt
werden. Der Browser zeigt die Site aber erst an, wenn alle Daten
übertragen sind. Gibt es in HTML einen Befehl, der den Browser
anweist, alles bisher übertragene anzuzeigen? oder ähnliches? oder
irgendeine andere Idee?

Wahrscheinlich trivial. Würde mich aber über einen Tipp freuen..

Danke und Gruß Stefan

Re: Verzögerte Ausgabe

am 31.07.2006 20:01:53 von Frank Schenk

stenes schrieb:
> Hallo, ich programmiere eine WebSite, bei der ich vor deren Anzeige
> div. Aktualisierungen an einer Datenbank im Hintergrund vornehmen muß.
> Diese Verarbeitung kann bis zu einer Minute dauern. Ich möchte nun,
> daß während diese Zeit dem User bereits Informationen über die
> Wartezeit oder einfach eine Kette von Punkten oder ähnliches angezeigt
> werden. Der Browser zeigt die Site aber erst an, wenn alle Daten
> übertragen sind. Gibt es in HTML einen Befehl, der den Browser
> anweist, alles bisher übertragene anzuzeigen? oder ähnliches? oder
> irgendeine andere Idee?

flush() it baby one more time :)
Siehe Handbuch zu Outputbuffering / flush()

Aber bitte drauf achten, daß HTML-Tags wie Table, Div etc geschlossen
sein müssen sonst wird das nix im IE. Und beim IE kann es erforderlich
sein, bissl Müll rauszuhauen (echo str_repeat(' ', 500);) weil der erst
mal so 500+ bytes braucht bevor er überhaupt was ausgibt.

Frank

Re: Verzögerte Ausgabe

am 31.07.2006 20:47:30 von stenes

Wow,

funktioniert einwandfrei.
Danke sehr...


Gruß Stefan


Frank Schenk schrieb:

> stenes schrieb:
> > Hallo, ich programmiere eine WebSite, bei der ich vor deren Anzeige
> > div. Aktualisierungen an einer Datenbank im Hintergrund vornehmen muß.
> > Diese Verarbeitung kann bis zu einer Minute dauern. Ich möchte nun,
> > daß während diese Zeit dem User bereits Informationen über die
> > Wartezeit oder einfach eine Kette von Punkten oder ähnliches angezeigt
> > werden. Der Browser zeigt die Site aber erst an, wenn alle Daten
> > übertragen sind. Gibt es in HTML einen Befehl, der den Browser
> > anweist, alles bisher übertragene anzuzeigen? oder ähnliches? oder
> > irgendeine andere Idee?
>
> flush() it baby one more time :)
> Siehe Handbuch zu Outputbuffering / flush()
>
> Aber bitte drauf achten, daß HTML-Tags wie Table, Div etc geschlossen
> sein müssen sonst wird das nix im IE. Und beim IE kann es erforderlich
> sein, bissl Müll rauszuhauen (echo str_repeat(' ', 500);) weil der erst
> mal so 500+ bytes braucht bevor er überhaupt was ausgibt.
>=20
> Frank

Re: Verzögerte Ausgabe

am 31.07.2006 21:59:06 von do.not.REMOVETHAT

Frank Schenk schrieb:
> Und beim IE kann es erforderlich
> sein, bissl Müll rauszuhauen (echo str_repeat(' ', 500);) weil der erst
> mal so 500+ bytes braucht bevor er überhaupt was ausgibt.

256, nicht 500.

Vielleicht waren es auch 512 oder 1024, aber 500 auf keinen Fall :-)

Grüße, Matthias

Re: Verzögerte Ausgabe

am 31.07.2006 22:56:55 von Frank Schenk

Matthias P. Wuerfl schrieb:
> Frank Schenk schrieb:
>> Und beim IE kann es erforderlich sein, bissl Müll rauszuhauen (echo
>> str_repeat(' ', 500);) weil der erst mal so 500+ bytes braucht bevor
>> er überhaupt was ausgibt.
>
> 256, nicht 500.
>
> Vielleicht waren es auch 512 oder 1024, aber 500 auf keinen Fall :-)
>
> Grüße, Matthias

Ich hab den IE reverse enginered und festgestellt, daß es genau 497
bytes und anderthalb nibble sind - und zwar weil am 19. April 97 Bill
Gates uneheliche Tochter geboren wurde. So, nun beweis mal das Gegenteil :-P


Frank

P.S.: 500 Bytes reichen normalerweise es sei denn man gibt vorher nix
oder fast nix aus, ausserdem mag ich runde Zahlen :-)

Re: Verzögerte Ausgabe

am 02.08.2006 08:39:19 von do.not.REMOVETHAT

Frank Schenk schrieb:

> Ich hab den IE reverse enginered und festgestellt, daß es genau 497
> bytes und anderthalb nibble sind - und zwar weil am 19. April 97 Bill
> Gates uneheliche Tochter geboren wurde. So, nun beweis mal das Gegenteil
> :-P

Ich verstehe Deine Aussage nicht ganz. Jeder kann das durch einfaches,
dummes ausprobieren "beweisen". Schicke 255 Zeichen und es kommt noch
nichts. Schicke das 256. Zeichen und es wird was angezeigt.

> P.S.: 500 Bytes reichen normalerweise

Natürlich, denn es sind mehr als 256.

> ausserdem mag ich runde Zahlen :-)

256 *ist* rund. Im Binärsystem auf jeden Fall runder als 500 :-)

Falls hier irgendwer an Hintergründen, fachlich fundieren Aussagen,
Informationen interessiert sein sollte:

http://msdn.microsoft.com/workshop/networking/moniker/overvi ew/appendix_a.asp

Grüße, Matthias

[OT] Re: Verzögerte Ausgabe

am 02.08.2006 09:35:56 von Frank Schenk

Matthias P. Wuerfl wrote:
>
> Ich verstehe Deine Aussage nicht ganz. Jeder kann das durch einfaches,
> dummes ausprobieren "beweisen". Schicke 255 Zeichen und es kommt noch
> nichts. Schicke das 256. Zeichen und es wird was angezeigt.

Entspann dich und übersieh meine Spaß-Tags nicht :)

gruß, Frank