flush()在Firefox 4中不起作用

Ctr*_*roy 8 php firefox flush

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

我最近安装了firefox 4 beta 7,当调用flush()时,内容不会立即刷新.它曾经在3.6.12中正常工作.还有什么东西可以为我提供冲洗功能.

我试过了

flush();  
@ob_flush();
Run Code Online (Sandbox Code Playgroud)

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

@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);
Run Code Online (Sandbox Code Playgroud)

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


我发现将内容类型设置为text/plain工作,但它只输出纯文本而不是html内容.

Erw*_*els 6

你没有看到幽灵 - 我在FF3.6和FF4之间经历了同样的差异.

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

echo str_repeat(" ", 1024);
Run Code Online (Sandbox Code Playgroud)

在需要刷新的输出之前.你可以把它放在<head>中.

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


mea*_*gar 1

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