【问题标题】:flush() doesn't work in Firefox 4flush() 在 Firefox 4 中不起作用
【发布时间】:2010-11-20 04:47:13
【问题描述】:

我注意到 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 内容。

【问题讨论】:

标签: php firefox flush


【解决方案1】:

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

这里有一个解决方法:添加一个

echo str_repeat(" ", 1024);

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

中。

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

【讨论】:

    【解决方案2】:

    flush 将在服务器端以相同的方式运行,而与浏览器无关。如果客户端显示的内容不同,则您无法在服务器端进行很多修复。

    【讨论】:

    • 有什么我可以在客户端上做的。正如我之前提到的,它在 firefox 3.6.12 中运行良好,但在 firefox 4 beta 7 中却不行。
    • @Ctroy flush 不是你的问题,是什么让你认为它是?
    • 我有这个我在本地运行的 php 页面,它进行了一些处理。我在处理过程中向页面输出了一些内容,我希望它们在我的页面中“回显”它们时立即出现。
    • 您曾经能够进行 ajax 调用并刷新页面,它会在旧版 Firefox 中显示。在新的 Firefox 中这不起作用,页面需要完成。这与那些就绪状态有关。
    猜你喜欢
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 2011-07-28
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多