@emchummer

Как сделать preloader в php до загрузки html?

Здравствуйте,
При входе на сайт передается 2 параметра GET в php файл, там выполняется скрипт и происходит дамп с другого сайта с помощью file_get_contents, после получения данных все переменные передаются через require_once в HTML файл.

ВОПРОС: Из-за того что file_get_contents работает долго, как можно показать пользователю preloader сразу как начнется выполняться скрипт? Пробовал вставлять отображение preloader в начало php и закрывать уже в html. Пробовал только в HTML оставлять и только в PHP. Ничего не выходит, все кособоко. Либо preloader не снимается, либо происходит загрузка страницы и только потом показывается на пол секунды preloader.

Preloader использую вот такой:
<div id="p_prldr"><div class="contpre"><span class="svg_anm"></span><br>Подождите<br><small>идет загрузка</small></div></div>
..............
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">$(window).on('load', function () {
    var $preloader = $('#p_prldr'),
        $svg_anm   = $preloader.find('.svg_anm');
    $svg_anm.fadeOut();
    $preloader.fadeOut('slow');
});</script>
  • Вопрос задан
  • 2176 просмотров
Пригласить эксперта
Ответы на вопрос 2
Immortal_pony
@Immortal_pony Куратор тега PHP
Все, что делает PHP происходит до того как клиент получает HTML и JS.
Вам необходимо делать загрузку тяжелых данных через AJAX
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
есть вариант без аякса:
1) делаете ссылку на страничку с прелоадером, то есть весь контент - только прелоадер
2) Делаете на ней js: location.href = 'урл с гет параметрами который долго грузится'
3) Profit! пока пхп не отдаст содержимое страницы с вашими тяжелыми запросами будет крутиться прелоадер, потом сразу загрузится вся тяжелая страничка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы