8

我注意到php flush(); 在 Firefox 4 beta 7 中不起作用,因为它在 3.6.12 中起作用。

我最近安装了 firefox 4 beta 7,当调用 flush() 时内容并没有立即刷新。它曾经在 3.6.12 中运行良好。还有什么其他东西可以为我提供冲洗功能。

我试过了

flush();  
@ob_flush();

我还在页面顶部尝试了以下代码。

@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); }
   ob_implicit_flush(1);

顺便说一句,我在 XAMPP/Apache 上使用 php。谢谢。


我发现将内容类型设置为 text/plain 是可行的,但它只输出纯文本而不是 html 内容。

4

2 回答 2

6

你没有看到鬼 - 我经历了 FF3.6 和 FF4 之间的相同差异。

这是一个解决方法:添加一个

echo str_repeat(" ", 1024);

在需要刷新的输出之前。例如,您可以将其放在 <head> 中。

我的理论是,FF4 显然像 IE 和 Safari 一样,有一个小缓冲区,需要在增量渲染开始之前填充。

于 2011-03-25T08:34:01.910 回答
1

flush无论浏览器如何,都将在服务器端发挥相同的作用。如果客户端显示的内容不同,那么您可以在服务器端做很多事情来修复它。

于 2010-11-20T04:50:57.353 回答