flush () не работает в Firefox 4 - PullRequest
       6

flush () не работает в Firefox 4

8 голосов
/ 20 ноября 2010

Я заметил, что 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);

Кстати, я использую php на XAMPP/ Apache.Спасибо.


Я обнаружил, что установка типа контента на text / plain работает, но он просто выводит простой текст, а не html контент.

Ответы [ 2 ]

6 голосов
/ 25 марта 2011

Вы не видите призраков - я испытал такую ​​же разницу между FF3.6 и FF4.

Вот обходной путь: добавьте

echo str_repeat(" ", 1024);

перед выводом, который необходимо очистить. Вы можете поместить это, например, в .

Моя теория заключается в том, что FF4, как, по-видимому, IE и Safari, имеет небольшой буфер, который необходимо заполнить, прежде чем начнется добавочный рендеринг.

1 голос
/ 20 ноября 2010

flush будет работать одинаково на стороне сервера независимо от браузера. Если клиент отображает вещи по-другому, вы не можете многое сделать на стороне сервера, чтобы это исправить.

...