Probleme mit flush

vandamp

Erfahrenes Mitglied
Hallo,

irgendwie habe ich Probleme mit flush(), auf meinem Rechner funktioniert es, sitze ich in der Firma - selber Browser wie @home, funktioniert es nicht.

Ich aktualisiere % Werte bzw. treibe eine js-funktion an, die es ür mich tut, habe schon gelesen, dass manchmal der String zu kurz ist und deshalb 256 leerzeichen zu meiner flush Ausgabe hinzugeügt aber angezeigt wird es trotzdem nicht in der Firma :(

Kann es sein, dass es an unserem Proxy Server oder an den Schweizerkäse"security" einstellungen liegt? Bzw. ist jemand anders dieses Problem schon mal untergekommen?
 
Also im Zusammenhang mit Ajax?

die 256 Zeichen:
Einige Versionen des Mircrosoft Internet Explorers beginnen erst dann mit der Ausgabe wenn sie mindestens 256 Bytes empfangen haben. Sie müssen daher eventuell zusätzliche Leerzeichen in Ihre Ausgaben einfügen um eine Darstellung vor Scriptende auf solchen Browsern zu erzwingen.

Hast du schon mal verscuht die gasnze mit ob_start() und ob_flush() zu lösen?
 
nein nicht im Zusammenhang mit Ajax.

Hab ein Script, dass etwas auf meinen Server lädt.
Dies geschieht in einer Schleife und bei jedem Durchgang will ich den aktuellen Status aktualiseren.

Dazu mach ich mit echo einen js aufruf show(16). Das js überschreibt den vorhandenen Wert mit dem neuen.

function show(pro){$("#wait").html(pro);}

PHP:
echo(str_repeat(' ',256));
echo "<script type=\"text/javascript\">show('".$make."');</script>";
flush();

wie würde es mit ob_start funktionieren, habe es schon so versucht hat aber nicht geklappt.
Bzw. wieder nicht in der Firma.
PHP:
ob_start();
echo(str_repeat(' ',256));
echo "<script type=\"text/javascript\">show('".$make."');</script>";
ob_flush();

P.S.: den Unterschied zwishen flush und ob_start und ob_flush habe ich noch nicht ganz verstanden
 
Ist Javascript oder? Das funktioniert? (Ich kenne Javascript nur vom hören sagen)
Java:
function show(pro){$("#wait").html(pro);}

Zum PHP-Code.
$make ist nicht abgefüllt.

ob_start() hält alle Ausgaben zurück und ob_flush() schickt dann alle Ausgaben ab und leert den Buffer. Steht aber auch in der php.net-Doku zu den 2 Befehlen.
 
wie meinst du kenne JS nur vom hören sagen?

Ja funktioniert alles bestens nur eben in der Firma nicht mit % Anzeige. :(

Was meinst du mit $make ist nicht abgefüllt, bin leider kein Profi so gut kenne ich die Fachbegrifft nicht.

Du kannst es gerne mal testen.( Am besten nimmst du ein Video, dass bissl länger ist sonst siehst du die % Werte nicht, weil es so schnell geht)
Wenn du auf Zipped.at eine Youtube URL eingibst, lade ich es auf den Server verpacke das Video in einem Zip-file und stelle es zum Download bereit.

Dabei soll eben der Status ausgegeben werden.

@Doku guter Tipp :) jetzt ist mir auch der Unterschied klar
 
'vom hören Sagen' => Ich hab gehört, dass es Javascrigpt gibt, kenne es aber selber nicht.

$make: In deinem Script, welches du gepostet hast, sehe ich nirgens das $make einen Wert kriegt.
 
achso, ist ganz schön lang wollte nicht alles posten, aber $make bekommt zwingend einen Wert zugewiesen, auch wenn er 100 ist.

Wie gesagt ich denke ja, dass der Proxy Server hier die Probleme macht bin mir aber nicht sicher.
Warum sollte es sonst auf allen anderen Rechnern funktionieren nur eben, wenn ich in der Firma sitze nicht.( Wofür ich die Seite eigentlich gebaut habe, um Youtube Videos schauen zu können, auch wenn .flv Datein von unserer Firewall geblockt werden)

P.S.: Du bist so aktiv hier im Forum und hast immer einen passenden Rat, da ist es mir noch gar nicht aufgefallen, dass du Javascript nicht selbst verwendest.
 
ha ich weiß warum es nicht geht, webmarshall erlaubt es nicht deshalb wird es nicht angezeigt, also falls nochmal jemand ein Problem damit haben sollte checkt mal die Security-einstellungen.
 
Zurück