За последние 24 часа нас посетили 18789 программистов и 1600 роботов. Сейчас ищут 1304 программиста ...

Помогите с "Иконкой загрузки страницы"

Тема в разделе "JavaScript и AJAX", создана пользователем Anton P., 26 янв 2011.

  1. Anton P.

    Anton P. Активный пользователь

    С нами с:
    26 янв 2011
    Сообщения:
    3
    Симпатии:
    0
    Привет!
    Буду очень благодарен помощи!
    Не получается вляпать иконку загрузки страницы - loader.
    HTML:
    1.  
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <script type="text/javascript" src="jquery.min.js"></script>
    6. <script type="text/javascript">
    7. $(function() {
    8. $('#wrapper').hide();
    9. $(window).load(function() {
    10. $('#loader').hide();
    11. $('#wrapper').show();
    12. } );
    13. });
    14.  
    15. <style type="text/css">
    16.     .centered {
    17. position: fixed;
    18. top: 50%;
    19. left: 50%;
    20. height: 32px;
    21. width: 32px;
    22. }
    23.  
    24. <title>Получение файла</title>
    25. </head>
    26. <img id="loader" class="centered" src="load.gif" alt="Идет подготовка Вашего файла">
    27.  
    28. <div id="wrapper">
    29.  
    30. <?php
    31. ЗДЕСЬ ИДЕТ КОД КОПИРОВАНИЯ ФАЙЛА В ПАПКУ ДЛЯ ВЫДАЧИ.
    32. ?>
    33.  
    34. </div>
    35. </body>
    36. </html>
    Проблема в том, что копируется файл примерно секунд 10-15. И идея была в том, чтобы это время показывать Loader. Но по факту копирование идет при пустом окне, а потом выскакивает ссылка на файл. Loader не отображается.

    В чем подвох?

    Если вместо php вставить просто большого размеру картинку, то все работает как надо, сначало Loader потом изображение
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    подвох в том, что желательно понимать как работает php

    Сначала сервер формирует ВСЮ!!! страницу целиком, а потом отдает клиенту. Т.е. когда ты видишь в браузере свою страничку - рнр уже давно отработал и умер))
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    при fastCGI он может жить даже когда уже отдал контент и клиент наслаждается ХТМЛ
    =)
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    440Hz

    Тут явно не тот случай)
     
  5. Anton P.

    Anton P. Активный пользователь

    С нами с:
    26 янв 2011
    Сообщения:
    3
    Симпатии:
    0
    То есть скрасить ожидание пользователя, пока выполняется php нет никакой возможности? Я не говорю про свой вариант, а вообще? Просто наблюдается большое количество уходов. Народ думает, что страница мертва.
     
  6. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    сделай загрузку чего там нужно тебе с помощью ajax и все будет гуд. и картинки тебе будут, и довольные юзеры.
     
  7. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Anton P.

    Как уже Апельсин сказал - отдаешь полностью страничку, потом на ней Аяксом начинаешь загрузку :)

    а вообще вот http://www.phpfaq.ru/na_tanke
     
  8. Anton P.

    Anton P. Активный пользователь

    С нами с:
    26 янв 2011
    Сообщения:
    3
    Симпатии:
    0
    Полагаю, запинаете сейчас, но:

    Сделал так. между страницей с кодом отдачи и первоначальной страницей поставил еще одно звено. Простую html страничку с картинкой "загрузки". И в этой странице сделал редирект 3-х секундный на страницу с кодом отдачи.

    Имеем: пока php копирует файл, пользователь все еще видит html страницу с loader. Все работает прекрасно :) потом мгновенно php отдает ссылку...
     
  9. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
  10. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Anton P.
    Если получил устраивающее тебя решение - пользуйся на здоровье :)