Как заставить браузер отображаться при загрузке
Я работаю в WordPress. У меня есть несколько сайтов, настроенных одинаково (насколько я могу судить). Большинство ведут себя, как и ожидалось. Однако некоторые из них таковы, что браузер (все типы) не отображает прогресс при первой загрузке или обновлении до полной загрузки страницы. Он появляется в режиме ожидания, а затем "Мигает", вот он - полностью загружен.
Производительность в порядке, но нервирует, что ничего не движется до конца. Заголовок очень чистый, никаких операторов "onLoad" и т. Д., И я не вижу никаких сценариев в подключаемых модулях, которые могли бы вызвать это.
Не уверен, что "принуждение" - это решение, но у меня нет идей. Я возьму что-нибудь в этот момент.
1 ответ
Если вы используете PHP, используйте flush()
, если ASP.NET использовать Response.Flush()
, Тем не менее, они не гарантированно будут работать, от браузеров зависит, будут ли они выполнять ваш запрос на сброс. Попробуйте вместо этого использовать jQuery и ajax, это может сделать ваше приложение быстрым.
Я пробовал flush на PHP еще в 2001 году и заметил, что Mozilla выполняет запрос сброса, который я помещаю в длительный цикл, тогда в отличие от сегодняшнего дня, браузеров не существует. Не все браузеры поддерживают запросы на сброс
ОБНОВИТЬ
Я попробовал Chrome, Firefox и Safari, они все выполняют запрос на сброс. Просто попробуйте IE, если он также распознает флеш:
<table border="1">
<th>Message</th>
<% for(int i = 0; i < 1000; ++i) { %>
<tr>
<td>
<%=i %> Hello<br>
<% System.Threading.Thread.Sleep(500); %>
<% Response.Flush(); %>
</td>
</tr>
<% } %>
</table>