1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Прелоадер для РНР скрипта

Тема в разделе "Web Coding", создана пользователем terkin, 6 янв 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    Есть скрипт который довольно долго собирает информацию перед тем как показать её пользователю, что можно сделать что бы человеку отображался не просто белая страница а какой нить прелоадер или хотя бы надпись ждите идёт загрузка
     
  2. g0rn

    g0rn Постоялец

    Регистр.:
    3 июн 2007
    Сообщения:
    137
    Симпатии:
    63
    попробуй
    PHP:
    echo "3агрузка...";
    flush();
    // тут делай что  надо
     
    terkin нравится это.
  3. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    Помогло, буду знать :ay:
    Только один ньюанс остался - как после выполнения остального кода убрать Загрузка... хотя это уже наверно ява скриптами нада
     
  4. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    Обрати внимание, если используешь flush для показа прелоада, основной код не сможет выдать куки или переадресацию, т.к. заголовки и часть ответа уже посланы

    +из документации к функции flush:
    Some versions of Microsoft Internet Explorer will only start to display the page after they have received 256 bytes of output, so you may need to send extra whitespace before flushing to get those browsers to display the page.
     
  5. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    77
    Симпатии:
    156
    чтобы убрать мессадж о загрузке:
    сначала пишем
    PHP:
    echo "<div id='pageloader'>3агрузка...</div>"
    flush();
    а затем в конце вывода основной страницы добавляем:

    Код:
    <script>
    document.all.pageloader.innerHTML='';
    </script>
    
     
  6. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    лучше наверно
    Код:
    document.getElementById('pageloader').style.display='none';
     
    NimSpy нравится это.
  7. Ha Emmid

    Ha Emmid Читатель

    Заблокирован
    Регистр.:
    22 ноя 2007
    Сообщения:
    8
    Симпатии:
    0
    Согласен с mentanos, лучше просто скрыть сообщение. =)
     
  8. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    не просто скрыть, а убрать возможный отступ. div все-таки
     
  9. Gannibal

    Gannibal Создатель

    Регистр.:
    19 окт 2007
    Сообщения:
    16
    Симпатии:
    0
    а непроще через яваСкрипт?
     
  10. zavulon

    zavulon Постоялец

    Регистр.:
    9 май 2007
    Сообщения:
    79
    Симпатии:
    34
    CSS включён у большего количества людей, чем Javascript. Поэтому

    PHP:
    echo '<div id="pageloader">3агрузка...</div>';
    flush();
    А когда загрузится, надо вывести
    PHP:
    <style>#pageloader {display:none}</style>
     
    ctac911 нравится это.
Статус темы:
Закрыта.