2010-11-20 31 views
8

J'ai remarqué que le php flush(); ne fonctionne pas dans Firefox 4 beta 7, comme cela fonctionne dans 3.6.12.flush() ne fonctionne pas dans Firefox 4

J'ai récemment installé firefox 4 beta 7, et le contenu ne s'affichent pas immédiatement lorsque flush() est appelé. Il fonctionnait normalement en 3.6.12. Y at-il autre chose qui pourrait me fournir la fonctionnalité de rinçage.

J'ai essayé

flush(); 
@ob_flush(); 

J'ai aussi essayé le code suivant en haut de la page. Par ailleurs, j'utilise PHP sur XAMPP/Apache. Par ailleurs, j'utilise php sur XAMPP/Apache. Merci. J'ai trouvé que le réglage du type de contenu au format texte/plain fonctionne, mais il produit simplement du texte brut et non du contenu html.

+0

Peut-être la technique affichée dans cette question peut vous aider dans votre quête http: /. /stackoverflow.com/questions/4191349/php-buffer-why-rn –

Répondre

1

flush fonctionnera de manière identique côté serveur quel que soit le navigateur. Si le client affiche les choses différemment, il n'y a pas grand-chose que vous pouvez faire côté serveur pour le réparer.

+0

Y at-il quelque chose que je peux faire sur le client. Comme je l'ai mentionné plus tôt, cela fonctionnait bien dans Firefox 3.6.12, mais pas dans Firefox 4 beta 7. – Ctroy

+0

@Ctroy 'flush' n'est pas votre problème, qu'est-ce qui vous fait penser que c'est? – meagar

+0

J'ai cette page php que j'exécute localement et qui fait un peu de traitement. Je produis un certain contenu sur la page pendant le traitement que je veux qu'ils apparaissent dès que je les "écho" dans ma page. – Ctroy

6

Vous ne voyez pas de fantômes - j'ai vécu la même différence entre FF3.6 et FF4.

est ici un travail autour: ajouter un

echo str_repeat(" ", 1024); 

avant la sortie qui doit être rincée. Vous pouvez le mettre par exemple dans la tête < >.

Ma théorie est que FF4, comme apparemment IE et Safari, ont un petit tampon qui doit être rempli avant coups de rendu supplémentaires dans