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